Macro sous Excel
DidiDS
-
DidiDS -
DidiDS -
Bonjour,
Je débute en matière de macro sous Excel. Je n'ai que quelques notions de programmation et je perds un temps fou à chercher le nom des fonctions VBA, je fais donc appel à vos connaissances sur le forum.
J'ai un fichier Excel (Feuil1) dans lequel mes données sources (espèces végétales et leur localisations) sont organisés ainsi :
Espèce France Italie Allemagne États-Unis ...( 40 colonnes)
A 0 0 0 1
B 1 1 0 0
C 0 0 1 0
'1' signifie que l'espèce est présente dans le pays en intitulé de colonne
Je cherche à "transposer" mes données dans une 2eme feuille de façon à obtenir un tableau :
Espèce Pays
A États-Unis
B France
B Italie
C Allemagne
Merci de votre analyse.
D.
Je débute en matière de macro sous Excel. Je n'ai que quelques notions de programmation et je perds un temps fou à chercher le nom des fonctions VBA, je fais donc appel à vos connaissances sur le forum.
J'ai un fichier Excel (Feuil1) dans lequel mes données sources (espèces végétales et leur localisations) sont organisés ainsi :
Espèce France Italie Allemagne États-Unis ...( 40 colonnes)
A 0 0 0 1
B 1 1 0 0
C 0 0 1 0
'1' signifie que l'espèce est présente dans le pays en intitulé de colonne
Je cherche à "transposer" mes données dans une 2eme feuille de façon à obtenir un tableau :
Espèce Pays
A États-Unis
B France
B Italie
C Allemagne
Merci de votre analyse.
D.
1 réponse
-
Bonjour,
UN exemple de macro qui prends les données dans la feuille courante et qui construit la liste dans le Feuil2Sub LISTE_ESPECE() ligne_cour = 2 For lig = 2 To 20 For col = 2 To 40 If Cells(lig, col) = 1 Then Sheets("Feuil2").Cells(ligne_cour, 1) = Cells(lig, 1) Sheets("Feuil2").Cells(ligne_cour, 2) = Cells(1, col) ligne_cour = ligne_cour + 1 End If Next col Next lig End Sub
Si il y a plus de ligne que 20 il suffit de modifier la borne
A+
Cordialement,