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)

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

Membre Club
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

Membre Club
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

Membre Club
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.


1 2

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 


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,718 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.