COMPARER DES DONNEES

  • Initiateur de la discussion Initiateur de la discussion Halo
  • Date de début Date de début

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 !

H

Halo

Guest
Bonjour,
Je souhaite adapter la fonction transposer les valeurs stockées dans une colonne vers une ligne.

Dans la colonne n d'un tableau se suivent plusieurs valeurs parfois identiques.
Dans la colonne n+1 en face de chacunes des valeurs de la colonne n se trouvent une valeur résultat. Cette valeur peut-être différente d'une ligne à l'autre même si la valeur de la colonne n est identique.

En fait je souhaite pouvoir transposer de colonne vers ligne les valeurs de la colonne n+1 dès que je détecte que la valeur de la colonne n change.

Pour une meilleur compréhension voir exemple ci-après
n n+1
1 A
1 A
1 B
1 C
3 F
4 D
4 A
5 C

Résultat
n n+1
1 A A B C
1
1
1
3 F
4 D A
5 C


Merci d'avance
 
Bonsoir Halo,


Ci-dessous une proposition pour résoudre ton problème :

Sub Regroupement()
Dim TabTemp As Variant
Dim V As Variant
Dim L As Long, Ligne As Long, VL As Long
Dim ColDepart As Integer, C As Integer
   'Définition de la colonne de départ (colonne n)
   ColDepart = 1
   With ActiveSheet
      'Mémorisation de l'ensemble des données
      L = .Range("A65536").End(xlUp).Row
      TabTemp = .Range(.Cells(1, ColDepart), .Cells(L, ColDepart + 1)).Value
      'Mémorisation de la première donnée et ligne associée
      V = TabTemp(1, 1)
      VL = 1
      'Pour chaque ligne suivante
      For Ligne = 2 To UBound(TabTemp, 1)
         'La valeur a t'elle changé ?
         If TabTemp(Ligne, 1) = V Then
            'Si non
            C = .Cells(VL, 256).End(xlToLeft).Column + 1
            .Cells(VL, C).Value = TabTemp(Ligne, 2)
            .Cells(Ligne, ColDepart + 1) = ""
         Else
            'Si oui
            V = TabTemp(Ligne, 1)
            VL = Ligne
         End If
      Next Ligne
   End With
End Sub


Cordialement.

Didier_mDF
myDearFriend-3.gif
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
290
Réponses
13
Affichages
407
Réponses
8
Affichages
656
Réponses
5
Affichages
718
Réponses
3
Affichages
218
Réponses
2
Affichages
142
Retour