Macro sous Excel

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.

1 réponse

  1. Contributeur
    Bonjour,

    UN exemple de macro qui prends les données dans la feuille courante et qui construit la liste dans le Feuil2
    
    Sub 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,
    0
    1. Merci infiniment !!!
      0