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.
 

Pièces jointes

  • Classeur1.xlsx
    30.9 KB · Affichages: 53
  • Classeur1.xlsx
    30.9 KB · Affichages: 63
  • Classeur1.xlsx
    30.9 KB · Affichages: 64

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
 

Pièces jointes

  • Classeur1 t.xls
    63.5 KB · Affichages: 49
Dernière édition:

Discussions similaires

Réponses
6
Affichages
222
Réponses
7
Affichages
291

Statistiques des forums

Discussions
312 158
Messages
2 085 828
Membres
102 994
dernier inscrit
snoopy70