|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Dialogue entre fichiers excel [ Archives Visual Basic / VBA ] (LF pour les nuls)
Informations & options pour cette discussion
|
jeudi 11 mai 2006 à 14:22:49 |
Dialogue entre fichiers excel

LF pour les nuls
|
Bonjour, je suis tout nouveau ici et peu expérimenté en VBA. Or, je suis bloqué...
Je suis en train de faire une application Excel pour gérer des entrées et des sorties de personnel par code barre (chaque fois que quelqu"un entre, j'inscris le nom, le prénom, le numéro de badge, l'heure d'entrée, ... dans une feuille excel). Mais avant cela, je dois vérifier que la personne est inscrite dans les registres et y récupérer ces informations (une autre feuille excel).
J'ai donc le numéro de badge en entrée. Je souhaite l'utiliser pour récupérer les informations sur l'autre feuille excel grâce à une fonction Autorisation. Est-il possible que l'un des paramètres de cette fonction soit une feuille excel?
J'ai essayé ce code, mais j'ai une erreur 9...
Public appExcel As Excel.Application 'Application Excel Public bookExcel As Excel.Workbook Public listeAutoristations As Excel.Worksheet Public Sub CommandButton1_Click() 'Chemin du fichier a modifier à chaque installation repertoire = "C:\...\fichier.xls" 'Ouverture de l'application Set appExcel = CreateObject("Excel.Application") 'Gestion du fichier et ouverture statique Set bookExcel = appExcel.Workbooks.Open(repertoire) Set ListeAutorisations = bookExcel.Worksheets(Sheet) 'ERREUR 9 'Visualisation en fond d'ecran la page excel 'appExcel.Visible = True Autorisation(CLng(TextBox1.Value), (ListeAutorisations)) 'On entre le matricule et on va chercher les données associées pour les récupérer dans une textbox
Merci de votre aide.
LF pour les nuls, Bidouilleur fou.
|
|
|
|
jeudi 11 mai 2006 à 15:02:51 |
Re : Dialogue entre fichiers excel

Alboure
|
Réponse acceptée !
Salut
tu peux faire:
Set ListeAutorisations = bookExcel.Worksheets("le_nom_de_ta_feuille")
public sub autorisation(num as long, feuille as object)
feuille.select ...
end sub
et quand tu l'appelles tu mets:
Autorisation CLng(TextBox1.Value), ListeAutorisations
Alboure
|
|
|
|
jeudi 11 mai 2006 à 15:20:13 |
Re : Dialogue entre fichiers excel

LF pour les nuls
|
Merci beaucoup, mais j'ai encore une erreur :
Public Function Autorisation(Matricule As Long, Feuille As objet)
-> erreur de compilation : type défini par l'utilisateur non défini.
(Je n'aime pas que le message parle de l'utilisateur, je sens que j'ai fait mon boulet^^)
LF pour les nuls, Bidouilleur fou.
|
|
|
|
jeudi 11 mai 2006 à 15:24:36 |
Re : Dialogue entre fichiers excel

mortalino
|
Salut,
Tu dis que tu es en VBA (je suppose Excel!).
Pourquoi déclares-tu
Public appExcel As Excel.Application 'Application Excel
Public bookExcel As Excel.Workbook
Public listeAutoristations As Excel.Worksheet
++
Mortalino
|
|
|
|
jeudi 11 mai 2006 à 15:32:12 |
Re : Dialogue entre fichiers excel

LF pour les nuls
|
Salut,
Parce que je travaille avec un fichier excel pour mon interface mais que j'ai besoin de faire appel à d'autres fichiers excel. Ne sachant pas comment faire, j'ai essayé un code trouvé sur le site. Il ne fallait pas?
LF pour les nuls, Bidouilleur fou.
|
|
|
|
jeudi 11 mai 2006 à 16:50:59 |
Re : Dialogue entre fichiers excel

mortalino
|
Réponse acceptée !
Non, pas besoin, c'est nécessaire depuis les autres appli Office ou VB.
A partir du classeur,
Workbooks.Open ("c:/chemin/nom classeur")
'ça t'ouvre le classeur est celui est actif.
celui ci étant ouvert et donc actif, tu peux travailler comme normalement
(range("A1").Value = sboub ; Printout ; bref tout quoi)
Par contre pour le fermer, ne fait pas ThisWorkBook.Close mais ActiveWorkBook.Close
Voilou
Pour te filer un exemple, j'ai un fichier qui calcul mon salaire, quand je l'ouvre, il ouvre mon planning pour récupérer mes heures effectuées, le ferme et place les données aux emplacements qui vont bien :
_________________________________________________________________________
Dim nbjourtrav, nbPrimeDispo, nbheurenuit, nbheurenuitsamedi, nbheurejourdimanche, nbheurenuitdimanche, nbheurejourferie As Byte
Private Sub Workbook_Open()
Workbooks.Open ("S:\PARTAGES\CI\Nico\Tour Nico CI 2006")
moisencours = Month(Date)
If moisencours = 2 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("janv").Select
Call nbheures
ElseIf moisencours = 1 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("déce").Select
Call nbheures
ElseIf moisencours = 3 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("févr").Select
Call nbheures
ElseIf moisencours = 4 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("mars").Select
Call nbheures
ElseIf moisencours = 5 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("avri").Select
Call nbheures
ElseIf moisencours = 6 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("mai").Select
Call nbheures
ElseIf moisencours = 7 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("juin").Select
Call nbheures
ElseIf moisencours = 8 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("juil").Select
Call nbheures
ElseIf moisencours = 9 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("août").Select
Call nbheures
ElseIf moisencours = 10 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("sept").Select
Call nbheures
ElseIf moisencours = 11 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("octo").Select
Call nbheures
ElseIf moisencours = 12 Then
Workbooks("Tour Nico CI 2006.xls").Worksheets("nove").Select
Call nbheures
End If
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
Sheets("salaire").Select
Range("C18").Value = nbjourtrav
Range("C12").Value = nbheurenuit
Range("C13").Value = nbheurenuitsamedi
Range("C14").Value = nbheurejourdimanche
Range("C15").Value = nbheurenuitdimanche
Range("C16").Value = nbheurejourferie
Range("C17").Value = nbPrimeDispo
End Sub
Private Sub nbheures()
nbjourtrav = Range("D38").Value
nbheurenuit = Range("R34").Value
nbheurenuitsamedi = Range("R35").Value
nbheurejourdimanche = Range("R36").Value
nbheurenuitdimanche = Range("R37").Value
nbheurejourferie = Range("R38").Value
nbPrimeDispo = Range("R39").Value
End Sub
______________________________________________________________
j'espere t'avoir aidé
@ ++
mortalino
|
|
|
|
jeudi 11 mai 2006 à 18:06:28 |
Re : Dialogue entre fichiers excel

LF pour les nuls
|
Et bien, voilà qui est clair! Super sympa. Je crois mieux comprendre. En fait, il suffit d'activer le classeur et les feuilles sur lesquels on veut travailler. Et lorsqu'on souhaite revenir sur le classeur de l'application, on les désactive. Du coup, mon erreur 9 viendrait de l'oubli du select. J'essaye tout ça ce soir ou demain, mais en tout cas grand merci (je n'oublierais pas de valider la réponse après essai^^).
LF pour les nuls, Bidouilleur fou.
|
|
|
|
vendredi 12 mai 2006 à 06:00:58 |
Re : Dialogue entre fichiers excel

mortalino
|
Pas de problème,
Bidouille bien..
++
Mortalino
|
|
|
|
vendredi 12 mai 2006 à 11:06:00 |
Re : Dialogue entre fichiers excel

LF pour les nuls
|
Super! ça marche! Excatement ce que je voulais. Je sens le pouvoir de VBA entrer en moi. Rien ne pourra m'arrêter. Je vais me mettre à programmer en dehors du boulot!!! lol. Prochaine étape, allumer mon pc pour qu'il me réveille en musique le matin^^
Merci encore.
LF pour les nuls, Bidouilleur fou.
|
|
|
|
vendredi 12 mai 2006 à 11:22:30 |
Re : Dialogue entre fichiers excel

LF pour les nuls
|
Par contre, tant que j'y suis... Je peux faire la même chose sans ouvrir le fichier excel? Car ça rame un peu à l'ouverture. Si je pouvais l'utiliser plus rapidement, ce serait génial.
LF pour les nuls, Bidouilleur fou.
|
|
|
Cette discussion est classé dans : récupérer, application, excel, feuille, appexcel
Répondre à ce message
Sujets en rapport avec ce message
vb et excel [ par Fabian26 ]
Slt, voila en fait j'ai deux tableau vb et je voudrais exporter ces 2 tableau dans la meme feuille excel chacun dans une colonne séparée comment pui
visual basic et excel [ par T103 ]
je voudrai cree une application sous vb ki me permete de lire des valeure dans un fichers excel, mai lorske jexecute mon code jai une erreur : erreur
problème fermeture excel [ par lanpak ]
salut à tousj'ai un programme qui ouvre une feuille excel, et écrit plein de données dedans.à la fin de l'exécution j'aimerais sauver les données et q
Excel: application d'une macro sur chaque onglet d'un fichier [ par tomsawyer_911 ]
Bonjour à Tous,Je vous fais parvenir le problème VBA sur lequel je bute depuis longtemps...Je cherche à appliquer une macro pour chaque feuille de mon
workbook worksheet au secour !!! [ par yoda21 ]
Bonjour,je suis un peu (bp) perdu dans la syntaxe VBA pour Excel.En effet j'ai :Dim appExcel As excel.Application 'Application ExcelDim wbExcel As exc
Erreur Excel - VB [ par Patrik ]
Bonjour,J'ai une appli qui lance excel en arriere plan (visible = false).Je rencontre un problème lorsque j'ouvre un autre classeur avec l'explorateur
Récupérer un nom de feuille Excel dans un inputbox [ par Nico le dodo ]
Salut à tous,J'aimerais récupérer un nom de feuille d'un classeur Excel...Jusqu'ici j'ai réussi à faire ouvrir un explorateur pour sélectionner le fic
Communication Excel-Application [ par MoiDebutantVB ]
Les données de mon application sont stockée dans une feuille excel. Comment faire pour y accéder depuis mon application (En .Net) et aussi éxecuter un
Récupérer la bonne application excel en vb [ par yocrita ]
Voilà, disons que j'ai deux applications excel ouvertes, et dans mon code je veux récupérer la deuxième dans un objet, j'ai essayé de faire avec getbj
Excel [ par mongii ]
Bonjeur je veux ouvrir un fichier excel situé dans le même chemin que mon application Dim appExcel As Excel.Application Dim wbExcel As Excel.Workbook
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|