Excel+vba code casse tete
Résolu/Fermé
thierrymalagnou
Messages postés
49
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
25 février 2008
-
11 févr. 2008 à 10:17
thierrymalagnou Messages postés 49 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 25 février 2008 - 21 févr. 2008 à 16:38
thierrymalagnou Messages postés 49 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 25 février 2008 - 21 févr. 2008 à 16:38
A voir également:
- Excel+vba code casse tete
- Liste déroulante excel - Guide
- Code puk bloqué - Guide
- Le code ascii - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
2 réponses
selon moi essaye d'enregistrer le nom dans une variable
ensuite fais un test dans ta base de donnée sur la colonne avec tous les noms
si le contenu de la cellule testée correspond au nom
la fonction "activecell.row" te permet te récuperer le numéro de la ligne dans une variable nommée par exemple v1
ensuite avec tu crées une autre variable v2 par exemple
le code " v2 = Range("A" & v1)" enregistre dans la variable v2
le contenu de la cellule située dans la colonne A à la ligne que tu as récupérée
de cette façon tu peux récupérer toutes les données dont tu as besoin.
pour les restituer
choisis une feuille
ensuite il faut chercher la dernière ligne remplie avec la fonction "selection.end(xldown)"
tu crées ensuite une autre variable v3 qui renvoie la ligne à laquelle tu insers tes informations :
avec le code "v3 = selection.end(xldown) + 1"
enfin " Range("A" & v3) = v2 " écrit dans la case située dans la colonne A à la premièe ligne vide la donnée récupérée dans la variable v2
ainsi tu pourras récupérer les noms prénoms et salaires pour les copier où tu veux les uns à la suite des autres.
j'esrpère avoir bien compris ton problème et que ma réponse t'aidera.
ensuite fais un test dans ta base de donnée sur la colonne avec tous les noms
si le contenu de la cellule testée correspond au nom
la fonction "activecell.row" te permet te récuperer le numéro de la ligne dans une variable nommée par exemple v1
ensuite avec tu crées une autre variable v2 par exemple
le code " v2 = Range("A" & v1)" enregistre dans la variable v2
le contenu de la cellule située dans la colonne A à la ligne que tu as récupérée
de cette façon tu peux récupérer toutes les données dont tu as besoin.
pour les restituer
choisis une feuille
ensuite il faut chercher la dernière ligne remplie avec la fonction "selection.end(xldown)"
tu crées ensuite une autre variable v3 qui renvoie la ligne à laquelle tu insers tes informations :
avec le code "v3 = selection.end(xldown) + 1"
enfin " Range("A" & v3) = v2 " écrit dans la case située dans la colonne A à la premièe ligne vide la donnée récupérée dans la variable v2
ainsi tu pourras récupérer les noms prénoms et salaires pour les copier où tu veux les uns à la suite des autres.
j'esrpère avoir bien compris ton problème et que ma réponse t'aidera.
thierrymalagnou
Messages postés
49
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
25 février 2008
21 févr. 2008 à 16:38
21 févr. 2008 à 16:38
ok
20 févr. 2008 à 14:54
cependant j ai procédé d'une autre facon.
en fait dans le formulaire ou il y a les information j'ai ajouté un commandouton qui lorsque je l'active cela ouve un formulaire qui reprend le nom prénom et salaire de la personne.
tout marche mais un seul problème perdure. c'est que ca ne prend pas automatique ment le nom prénom et salaire de la personne dans le deuxième formulaire, je suis obligé de les entrer manuellement. aprés quand je valide cela fait apparaitre l information sur une autre feuille comme désiré.
si tu as une idéé cela pourrait me sauver la vie ;)
merci beaucoup
bonne journée
21 févr. 2008 à 14:46
dans la procédure initialize de cette userform
tu peux reprendre des données et les afficher
il te suffit de dire où reprendre cette donnée (cellule ou variable)
21 févr. 2008 à 14:49
saurais tu par hasard a l'aide d un code comment ouvrir un autre fichier excel et aller dans un onglet précis ?
merci
21 févr. 2008 à 15:39
Workbooks.Open Filename:="C:\*.doc"
sheets("*").select
tu peux définir le nom du dossier, le nom du classeur, le nom de l'onglet par des variables :
par exemple ouvrir l'onglet "bonjour" dans le classeur "tata" dans le dossier "toto"
variable1 = toto
variable2 = tata
varaible3 = bonjour
Workbooks.Open Filename:="C:\" & variable1 & "\" & variable2 & ".xls"
sheets(variable3).select
de cette façon tu peux ouvrir le fichier correspondant à des données précises
21 févr. 2008 à 16:14
j ai une dernière question. voici un code qui apparait dans un userform composé d'un combobox.
Private Sub txtIni_Click()
Sheets(txtIni.Value).Activate
End Sub
Private Sub txtIni_DropButtonClick()
txtIni.Clear
For Each vfeuille In ActiveWorkbook.Sheets
txtIni.AddItem vfeuille.Name
Next
End Sub
il me permet de charger dans la combobox les onglets de la feuille excel.
en fait je souhaiterais qu'il charge le nom des onglets d'un autre fichier excel qui s'ouvrirait en même temps.
c'est pour cela que j ai posé a la base cette question mais je me rends compte que c est plus compliqué que ca.
as tu une idée ?
merci