Bonjour,
J’ai un tableau avec des ID client et des contrats. un ID client peut avoir plusieurs contrat et je voudrais faire un tableau pour afficher les contrat en ligne par ID client.
ID Client Contrat 1 Contrat 2 Contrat 3
Merci !
Bonjour,
J’ai un tableau avec des ID client et des contrats. un ID client peut avoir plusieurs contrat et je voudrais faire un tableau pour afficher les contrat en ligne par ID client.
ID Client Contrat 1 Contrat 2 Contrat 3
Merci !
Bonjour @AugustinJ,
Concernant ta demande d’aide ( Compte le nombre de ligne unique avec tel critère ), tu ne l’as toujours pas validé par
Je me rappelle aussi d’avoir écrit "Un fichier est toujours le bienvenu, plutôt que d’être obligé de le reconstituer."
Pour cette nouvelle demande d’aide, peux-tu nous fournir un fichier en le rendant anonyme si besoin.
@+
Cordialement.
Hello Merci,
J’ai pensé à la même solution finalement !!
encore merci
Bonjour,
Je recherche également à retourner plusieurs résultats avec recherchev mais je ne comprends pas le fichier avec les anotations en rouge. Comment arriver au résultat d’une répartition des contrats en colonne?
mdo100 j’espère que tu pourras me répondre.
Bonsoir @Leaurens,
L’auteur de la demande ( AugustinJ ) n’ayant jamais validé une précédente demande d’aide et n’ayant jamais réclamé le fichier, que j’avais mis en image. du coup je ne l’avait pas mis sur le forum.
Mais comme je suis de bonne humeur ce soir, je veux bien te le proposer si cela convient bien sûr.
Fichier ICI==> Leaurens.xlsx (15,2 Ko)
Cordialement.
Re @Leaurens,
J’avais préparé aussi à l’époque une version en VBA.
Option Explicit
Sub GO()
Dim J As Long
Dim I As Integer
Dim K As Long
Dim Indice As Long
Dim Tablo
Dim Nb As Integer
Application.ScreenUpdating = False
ReDim Tablo(1 To Range("A" & Rows.Count).End(xlUp).Row - 2, 1 To 2)
Tablo(1, 1) = Range("A2")
Tablo(1, 2) = Range("B2")
Nb = 1
For J = 3 To Range("A" & Rows.Count).End(xlUp).Row
For K = 1 To UBound(Tablo)
If Range("A" & J) = Tablo(K, 1) Then
For I = 1 To UBound(Tablo, 2)
If Tablo(K, I) = "" Then
Tablo(K, I) = Range("B" & J)
Exit For
End If
Next I
If I > UBound(Tablo, 2) Then
ReDim Preserve Tablo(1 To UBound(Tablo), 1 To UBound(Tablo, 2) + 1)
Tablo(K, UBound(Tablo, 2)) = Range("B" & J)
End If
Exit For
ElseIf Tablo(K, 1) = "" Then
Nb = Nb + 1
Tablo(K, 1) = Range("A" & J)
Tablo(K, 2) = Range("B" & J)
Exit For
End If
Next K
Next J
With Sheets("R?sultat")
.Cells.ClearContents
.Range("A2").Resize(Nb, UBound(Tablo, 2)) = Tablo
.Range("A1") = "ID client"
.Range("B1") = "Contrat N?1"
.Range("B1").AutoFill .Range("B1").Resize(, UBound(Tablo, 2) - 1), xlFillSeries
.Select
Rows(1).Font.Bold = True
End With
End Sub
Fichier ICI==> Leaurens V1.xlsm (20,2 Ko)
Cdlt.
Bonjour mdo100
Possible qu’il y a une petite erreur dans la Colonne I & J dans l’onglet Résultats le contrat est répéter 02 fois et compter deux fois, j’ai bien vu la formule et je n’ai pas trouver l’erreur
et si vous ajouter par exemple client 7 tu aura la même erreur.
Je sais que tu est très fort aux Formules Excel.
Merci mdo100
Bonsoir mdo100
Bravo votre code vba marche a merveille,
et si c’est possible je veux savoir ou est l’erreur de la formule
Merci mdo100
Salut @sadi58,
Exacte erreur de ma part, c’est corrigé dans le fichier joint:
Fichier corrigé ICI==> sadi58.xlsx (15,6 Ko)
Cordialement.
Salut mdo100
Bravo ça marche très bien
Bonne soirée mdo100
Salut
Merci beaucoup je vais étudier tout ça !
Bon alors dans un premier temps j’ai essayé d’adapter les formules du premier fichier : échec total, mes connaissances sont trop limitées ! j’ai donc essayé la version VBA, j’ai transposé mes données et cela marche à merveille.
Merci beaucoup pour ton aide.