Transposition de données

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jipi06

XLDnaute Junior
Bonjour à toutes et tous

merci de m'aider à trouver une solution à ce problème :

j'ai une plage de cellule (n col et n lignes) que je voudrais transformer en 1 seule ligne. La plage de cellule comportant des cellules vides, la ligne de résultat ne devra pas en comporter.
ci joint un fichier exemple.

Merci de votre aide

jipi06
 

Pièces jointes

Re : Transposition de données

Bonjour,

par exemple:

Code:
Sub transpose()
Dim Cell As Range
For Each Cell In Range("B48:E51")
  If Not IsEmpty(Cell.Value) Then Cells(55, Range("IV55").End(xlToLeft).Column + 1).Value = Cell.Value
Next
End Sub

Bonne journée.
 
Re : Transposition de données

Merci beaucoup

J'ai intégré la macro mais je bute sur la phase suivante....Je profite de vos capacités de réponse pour vous poser un autre problème, pas vraiment lié à la transposition de données.
Le fichier lié montre le besoin de départ et le résultat attendu.

Merci de votre aide

jipi06
 

Pièces jointes

Re : Transposition de données

Re bonjour,

Voici:

Code:
Sub test()
Dim MonDico As Object, Cell As Range, Elmnt, I As Integer, Visiteur As Range, J As Integer, Trouve As Range
Set MonDico = CreateObject("Scripting.Dictionary")
'ici on cré la liste des affectations
For Each Cell In Range("B4:D26")
   If Not MonDico.Exists(Cell.Value) And Cell.Value <> "" Then MonDico.Add Cell.Value, Cell.Value
Next Cell
I = 6
'ici on cré l'entête des affectations en G3:P3
For Each Elmnt In MonDico.items
  I = I + 1
  Cells(3, I).Value = Elmnt
Next
'pour chaque visiteur colonne A on recherche l'affectation s'y rattachant
For Each Visiteur In Range("A4", [A65536].End(xlUp))
  For J = 1 To 3
    Set Trouve = Range("G3", [IV3].End(xlToLeft)).Find(Visiteur.Offset(0, J).Value, LookIn:=xlValues, lookat:=xlWhole)
  'si l'affectation est trouvée en G3:P3, on écrit OK
    If Not Trouve Is Nothing Then Cells(Visiteur.Row, Trouve.Column).Value = "OK"
  Next
Next
End Sub
Espérant que les commentaires t'aideront.

Il faut laisser uniquement la liste des visiteurs colonne F avant d'exécuter la macro.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
711
Retour