Concatenation complexe en fonction de 2 colonnes

Bonjour

Grâce à votre forum j'ai réutilisé une petite macro qui regroupe/concatene des données en fonction d'une seule colonne.

Cela fonctionne bien mais cela ne répond pas à mon besoin car je voudrais concatener les infos d'une colonne en fonctions des 2 précedentes.

Pouvez vous m'aider ?

voici un exemple avec la macro ... plus explicite

63bamboclat.xlsm (20.54 Ko)

Merciiiiii de votre aide

A bientot

Bonjour,

Essaie avec ce code en lieu et place du tien

Sub Regrouper()
'Dan
Dim Nom As Range
Dim i As Byte
Dim Val As Range
Application.ScreenUpdating = False
Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)
For Each Nom In Range("A2:A" & Range("A65536").End(xlUp).Row)
    For i = 1 To Range("B65536").End(xlUp).Row - 1
    Set Val = Nom.Offset(i, 0)
        If Val <> "" And Val = Nom Then
            If Nom.Offset(0, 1) = Val.Offset(0, 1) Then
            Nom.Offset(0, 2) = Nom.Offset(0, 2) & " , " & Val.Offset(0, 2)
            Rows(Val.Row).Delete
            i = i - 1
            End If
        End If
    Next i
Next Nom
Application.ScreenUpdating = True
End Sub

Si ok, merci de cloturer le fil en cliquant sur le V vert à coté du bouton editer

Amicalement

Salut Dan

Ouep ça fonctionne parfaitement !!!

merci beaucoup pour ton efficacité et ton aide

Au revoir et à bientot

Bonjour

A vérifier

Edit : Je suis sacrément en retard mais bon ....

Re salut

En fait désolé j'ai oublié un petit détail ^^ je dois concatener 2 fichiers :

un fichier avec 60 lignes où la moulinette fonctionne parfaitement ( c'est top encore merci )

un autre fichier avec 8637 lignes dans ce cas précis la moulinette ne parvient pas à retourner un résultat ... :S ( ç'est à cause du for each, for non ? )

Aurais tu une idée pour résoudre ce problème?

Amicalement

A bientot


Salut Banzai64

Je suis désolé j'ai pas vu ta réponse .. merci beaucoup d’ailleurs !!

Je vais essayer avec ta "moulinette"

C U

RE

Je m'excuse pour le délais .. j'ai une erreur de type qui apparait ligne 31 du code... je comprend pas pourquoi

Bonjour

Il faudrait noter exactement l'erreur et écrire (copier) la ligne en faute

Le fichier provoquant l'erreur serait un plus non négligeable

Re

Alors il s'agit de l'erreur d'execution 13

Incompatibilité de type

Debogage ligne ".Range("A2").Resize(mondico.Count) = Application.Transpose(mondico.keys)"

Elle apparait quand je lance la macro en cliquant sur" regroupe" dans le fichier que tu m'as envoyé en fait (bamboclat Regroupe V001) .

Bonjour

Le problème c'est que chez moi je n'ai pas cette erreur

Même si ne ne teste pas à fond chaque macro, une erreur comme celle-ci je l'aurai corrigée

Alors difficile de trouver une solution

Mets en ligne le fichier avec cette erreur on verra bien

A vraiment tout hasard rajoutes

.Range("A2").Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)

oui c'est vrai que je comprend pas cette erreur ton les types sont bien défini

j'ai changé

.Range("A2").Resize(mondico.Count, 4) = Application.Transpose(mondico.keys)

car j'ai 4 colonnes ...

mais c'est pas ça pardon

Bonjour

Le fichier que tu as envoyé fonctionne très bien, si cela vient d'une incompatibilité 2003-->2007, je ne vais t'être d'aucun secours

Un dernier essai

Remplaces la ligne correspondante par

.Range("A2").Resize(mondico.Count) = Application.Transpose(mondico.items)

je n'y crois pas trop mais ....

Bonjour

Effectivement ,meme avec l'ajout de "items" ça ne fonctionne pas mais j'ai un nouveau type d'erreur à la meme ligne :

erreur 424 objet requis ..

Cependant jai testé ta macro sur la version excel 2003 et ça fonctionne .. BIZARRE

Merci BEAUCOUP

A bientot

Bonjour

J'espère pour toi qu'un habitué de 2007 trouvera le pourquoi du comment

Rechercher des sujets similaires à "concatenation complexe fonction colonnes"