Lister données en colonne dans plusieurs colonnes sans cellules vides

Emmanuel_3005

XLDnaute Nouveau
Bonjour,

Je reviens sur le forum car voilà deux jours que je suis en train de réfléchir sur mon problème.
Dans une feuille Feuil1, j'ai un tableau de deux colonnes nommées Nom et Statut.
J'aimerais pouvoir résumer ce tableau autrement dans la Feuil2 en utilisant les valeurs de la colonne 2 de la Feuil1 comme tête de colonne et les valeurs de la colonne Nom comme valeurs dans la Feuil2.
Peut-être que mes explications ne sont pas très claires et je m'en excuse. Je vous ai donc joins un fichier pour expliquer mon problème.

Dans l'attente de vous lire, je vous souhaite une excellente soirée à tous,

Emmanuel.
 

Fichiers joints

titiborregan5

XLDnaute Accro
Re : Lister données en colonne dans plusieurs colonnes sans cellules vides

Bonjour Emmanuel, le forum,

un code simple mais qui répond à ta demande.
Doit sûrement y avoir plus propre mais bon...peut-être en passant par find?

Code:
Sub t()
With Sheets(1)
For i = 2 To 8
    For j = 6 To 8
    
    If .Cells(i, 2) = Sheets(2).Cells(1, j) Then
    Sheets(2).Cells(65000, j).End(xlUp).Offset(1, 0) = .Cells(i, 1)
    Exit For
    End If
    
    Next

Next

End With
End Sub
 

Emmanuel_3005

XLDnaute Nouveau
Re : Lister données en colonne dans plusieurs colonnes sans cellules vides

Bonjour titiborregan5,

Merci pour ta réponse. La voie de la macro me semblait effectivement la plus évidente, merci. As-tu testé ce code ? Car en créant une macro puis en la laçant je me rend compte qu'elle ne fonctionne pas. Je ne suis pas expert en VBA peut être pourras-tu m'aider ?

Je te remercie, excellente journée à toi,

Emmanuel.
 

titiborregan5

XLDnaute Accro
Re : Lister données en colonne dans plusieurs colonnes sans cellules vides

Oui chez moi cela marche!
Quel est ton message d'erreur?
Ah je pense savoir, il manque sûrement les titres ce qui fait que la recherche ne marche pas...
Code:
Sub t()
Sheets(2).Range("f1").CurrentRegion.ClearContents
Sheets(2).Range("f1") = "Marié"
Sheets(2).Range("g1") = "Fiancé"
Sheets(2).Range("h1") = "Célibataire"

With Sheets(1)
For i = 2 To 8
    For j = 6 To 8
    
    If .Cells(i, 2) = Sheets(2).Cells(1, j) Then
    Sheets(2).Cells(65000, j).End(xlUp).Offset(1, 0) = .Cells(i, 1)
    Exit For
    End If
    
    Next

Next

End With
End Sub
CF. PJ
 

Fichiers joints

Dernière édition:

Emmanuel_3005

XLDnaute Nouveau
[RESOLU] Re : Lister données en colonne dans plusieurs colonnes sans cellules vides

Oui, excellent ! Ça marche ! C'est super !

Merci à toi et excellent week-end !
 

Discussions similaires


Haut Bas