Téléchargement
illégal
Posez votre question Signaler

Excel+vba code casse tete [Résolu]

thierrymalagnou 49Messages postés 9 octobre 2007Date d'inscription - Dernière réponse le 21 févr. 2008 à 16:38
Bonjour,
j'ai un fichier excel contenant un grand nombre de lignes. chaque ligne contient un nom, prénom et salaire
dans ce fichier j'ai créer un programme vba. quand je le lance un formulaire apparait où je recherche une personne. une fois la personne sélectionnée, je valide et un deuxième formulaire ("liste") apparait avec le détail de la personne (adresse, tel,....).
dans ce formulaire j'ai un bouton checkbox que je n'arrive pas à codifier. le checkbox se nomme "ajouter". je souhaiterais cocher "ajouter" et quand je valide le formulaire, le nom prénom et salaire de la personne soit copier sur une autre feuille Excel.
si je recommence l'operation pour une autre personne, que je coche et valide, que son nom et prénom + saliare soit mis à la suite du précédent.
avez vous une idée
merci d'avance
bonne journée
Lire la suite 

Excel+vba code casse tete »

9 réponses
Réponse
+0
moins plus
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.
thierrymalagnou- 21 févr. 2008 à 16:14
merci parfait ca marche

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
matteco- 21 févr. 2008 à 16:23
la fonction ActiveWorkbook.Sheets fait référence aux onglet du classeur actif
essaye d'ouvrir le classeur auquel tu veux faire référence avant d'utiliser cette fonction
c'est le dernier classeur ouvert qui sera actif et donc ce sont les onglets de ce classeur la
qui seront chargés dans ta combobox.

je pense que ça devrait marcher mais je ne peux pas l'affirmer
thierrymalagnou- 21 févr. 2008 à 16:37
c est bon j ai réussi a le faire marcher

merci beaucoup pour tes précieux conseils

je te souhaite une bonne journeé
Ajouter un commentaire
Réponse
+0
moins plus
ok
Ajouter un commentaire
Ce document intitulé « excel+vba code casse tete » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?