Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Regrouper entre deux colonnes des valeurs texte

2 réponses
Avatar
GiorgioBruno
Bonjour à vous,

Je souhaiterai regrouper les deux colonnes en une seule, en gardant le même ordre. Merci !

A1 A2 A3

rouge violet 13
bleu
vert rouge 21
jaune
violet Bleu 40


et je souhaiterai obtenir A1 (colonne avec les valeurs de références) associé à A2 avec les données de A3 qui sont attribuées à A2.

A1 A2 A3

rouge rouge 21
bleu bleu 40
vert
jaune
violet violet 13

Merci pour vos réponses !

2 réponses

Avatar
Michel__D
Bonjour,
Le 25/11/2020 Í  18:02, GiorgioBruno a écrit :
Bonjour Í  vous,
Je souhaiterai regrouper les deux colonnes en une seule, en gardant le même
ordre. Merci !
A1 A2 A3
rouge violet 13
bleu
vert rouge 21
jaune
violet Bleu 40
et je souhaiterai obtenir A1 (colonne avec les valeurs de références) associé Í 
A2 avec les données de A3 qui sont attribuées Í  A2.
A1 A2 A3
rouge rouge 21
bleu bleu 40
vert
jaune
violet violet 13
Merci pour vos réponses !

J'ai pas tout compris mais pour avoir la valeur en Colonne3 je te propose cette formule :
=SI(ESTERREUR(EQUIV(A1;B$1:B$5;0));"";DECALER($C$1;EQUIV(A1;B$1:B$5;0)-1;0;1;1))
Avatar
MichD
Le 25/11/20 Í  12:02, GiorgioBruno a écrit :
rouge violet 13
bleu
vert rouge 21
jaune
violet Bleu 40

Bonjour,
Essaie ceci.
Attention Í  l'adresse des cellules et du nom de l'onglet
au début de la procédure.
'------------------------------------------------
Sub test()
Dim Rg As Range, C As Range, Dest As Range
Dim Trouve As Range, ColA As Range
Application.EnableEvents = False
Application.ScreenUpdating = False
'Adapte le nom de l'onglet Feuil1 selon ton application
With Worksheets("Feuil1")
'la plage o͹ sont les données
'Colonne A
Set ColA = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
'Colonne B
Set Rg = .Range("B1:B" & .Range("B" &
.Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeConstants, 2)
'La première cellule o͹ s'affichera le résultat
'Tu peux choisir une autre cellule, tu as besoin de 3 colonnes vides.
Set Dest = .Range("E1")
'Copie de la colonne A vers la Dest
ColA.Copy Dest
End With
For Each C In Rg
Set Trouve = ColA.Find(What:=C, LookIn:=xlValues, LookAt:=xlPart)
Dest(Trouve.Row, 2) = Trouve
Dest(Trouve.Row, 3) = C(1, 2)
Next
With Dest.Resize(ColA.Rows.Count, 3)
.Copy ColA(1.1)
.Clear
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'------------------------------------------------
MichD