cs_Alban83
Messages postés24Date d'inscriptionvendredi 3 juillet 2009StatutMembreDernière intervention21 septembre 2010
-
3 juil. 2009 à 09:54
cs_Alban83
Messages postés24Date d'inscriptionvendredi 3 juillet 2009StatutMembreDernière intervention21 septembre 2010
-
3 juil. 2009 à 13:37
Bonjour,
Ma mission de stage en entreprise porte sur la conception d'une macro avec excel et vb mais je ne metrisse pas du tt VB. C'est pr cela que je demande de l'aide.
Mon probleme:
J'ai un tableau ou il y a une multitude de colonne de type: Ref; Nom; Date;Net euro; Nb utilisateurs.....
Ce tableau est consu tt les mois mais il peut y avoir plus ou moin de colonnes chaque mois.
Ma macro fait des operations avec differente colonnes, c'est colonne y sont tjrs mais pas forcement a la meme place.
Je n'arrive pas a savoir comment je peux chercher la colenne par l'intermediaire de son nom et recuperer le numero de la conlonne pour l'utiliser dans la suite de ma macro?
Vous pouvez m'aider ?
Merci d'avance
A voir également:
[déplacé VB6 -> VBA] Rechercher un nom dans une ligne et recuperer le numero de
ensuite faire une boucle pour rechercher ton libellé de colonne
dim colNom as integer, colRef as integer ' une variable par numéro de colonne dont tu as besoin
for i = 1 to nbColonnesif cells(1,i).text "Nom" then colNom iif cells(1,i).text "Ref" then colRef i
next i
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
cs_Alban83
Messages postés24Date d'inscriptionvendredi 3 juillet 2009StatutMembreDernière intervention21 septembre 2010 3 juil. 2009 à 11:43
Merci pour ta solution! ça fonctionne.
Peux tu juste me dire si le role de: nbColonnes = Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column
c'est de trouver la derniere colonne et si oui pourquoi c'est tres different de ce que j'utise pour trouver la derniere ligne: ligne = Range("A1").End(xlDown).Row
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 3 juil. 2009 à 12:38
Attention
nbLignes = Range("A1").End(xlDown).Row
te donnes le nombre de ligne JUSQU'A la premiere cellule vide
exemple dans une feuille excel qui a 5 lignes dont la ligne 3 est vide cela te donneras 2 comme résultat
par contre
nbLignes = Range("A65536").End(xlUp).Row
te donneras bien 5
de meme que
nbLignes = Columns("A:A").Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
dans une feuille excel qui a 5 colonnes dont la colonne 3 est vide
nbColonnes = Range("A1").End(xlToRight).Column 'donne 2
nbColonnes = Range("IV1").End(xlToLeft).Column 'donne 5
nbColonnes = Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column ' donne 5
a toi de choisir ce qui te convient le mieux suivant tes besoins
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE