Macro sous Excel

Fermé
DidiDS - 23 févr. 2011 à 16:28
 DidiDS - 23 févr. 2011 à 17:03
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

pilas31 Messages postés 1823 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 636
Modifié par pilas31 le 23/02/2011 à 16:49
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
Merci infiniment !!!
0