Corriger Moi

Bonjour!

Merci de me corriger, cette routine pour remplir une Combobox sans doublons, les données se trouvent dans une feuille "DETAILS ACHATS"

et la combo sur une autre feuille "BON RECEPT"

Voici le code:

Private Sub ComboBox1_Change()

Dim i As Integer

For i = 1 To Sheets("DETAILS ACHATS").Range("A65536").End(xlUp).Row

ComboBox1 = Sheets("DETAILS ACHATS").Range("A" & i)

If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Sheets("DETAILS ACHATS").Range("A" & i)

Next i

End Sub

Merci à tous

Bonjour Hosni, bonjour le forum,

Peut-être comme ça :

Private Sub ComboBox1_GotFocus()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim D As Object 'déclare la variable D (Dictionnaire)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Worksheets("DETAILS ACHATS") 'définit l'onglet O
TV = O.Range("A1").CurrentRegion 'définit la tableau de valeurs TV
Set D = CreateObject("Scripting.Dictionary") 'définit le dictionaire D
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
    D(TV(I, 1)) = TV(I, 1) 'alimente le dictionnaire D
Next I 'prochaine ligne de la boucle
Me.ComboBox1.List = D.keys 'alimente la ComboBox1
End Sub

@ThauThème

dhany

Bonjour ThauThème

Merci infiniment pour ton aide;

je joins le classeur à mon explication, en fait j'ai adapter la macro mais l'affichage sur la combobox n'est pas copmlet, elle n'affiche pas tout les numéro de facture, juste quelques une.

Merci de verifier, je passe à côté d'une erreur que je n'arrive pas a comprendre.

Serait-il aussi possible de lier la combobox au choix du Fournisseur, c'est à dire que la combo ne doit afficher que les factures du fournisseur choisi en H8

Merci encore

Bonjour à Tous ,

J'ai pu régler la question de l'affichage sur la combobox; reste comment relier le numéro de la facture au nom du fournisseur, sachant qu'un fournisseur peut avoir plusieurs factures.

Merci à tous

Bonsoir !

Pas de réponse ????

Bonsoir,

Faut pas modifier sans savoir ce qu'on fait ! Si tu mets UBound(TV, 2) à la place de UBound(TV, 1) dans la macro de ThauTheme, ça va plus le faire !

reste comment relier le numéro de la facture au nom du fournisseur, sachant qu'un fournisseur peut avoir plusieurs factures.

Tu dois avoir des dons particuliers pour voir des noms de fournisseurs dans ton fichier !

Cordialement.

Bonjour MFerrand

C'est vrai c'était juste une erreur de ma part que j'ai corriger sur le classeur en jointure, mais comment relier le nom du fournisseur aux numéro de facture relatves.

Merci pour votre réponse.

Je ne vois aucun changement dans ton fichier. Il ne suffit pas de rêver des noms pour les y trouver !

Bonsoir MFerrand!

Merci mais je ne rêves pas, je n'arrive juste pas a faire une liaison en VBA qui me permet de joindre le Nom du fournisseur aux numéros de factures. Ensuite à afficher les données dans le corps du BR.

Merci à vous.

Tant qu'il ne sont pas dans ton fichier, tu peux toujours essayer !

Ton fichier est amputé et ce qui manque n'y est pas !!!

Bonjour!

Merci MFerrand pour votre réponse, le classeur en pièce jointe.

Ainsi vous aurez une meilleure approche de mes besoins.

Cordialement

8essai-fep.xlsm (48.11 Ko)

Bonjour,

Voir fichier.

Cordialement.

Bonjour MFerrand!

Merci infiniment, c'est exactement ce que je désirais, serait-il possible de m'expliquer votre intervention, que je comprenne mieux.

Sans abuser de votre bonté; merci de me corriger les deux formules, qui en principes affichent les données relatives au fournisseur et à la facture choisie.

Merci à vous

J'ai juste mis sous condition du nom du fournisseur en H9 le prélèvement des numéros de facture, dans la macro de ThauTheme (et effacer la sélection dans la Combo, au cas où il y en aurait une). A voir dans le code...

Dans tes formules, PETITE.VALEUR doit être recherchée sous double condition du nom du fournisseur en C et du numéro de facture en B. La formule sera matricielle, donc non validable dans tes cellules fusionnées.

Il te faut donc commencer par défusionner ta feuille...

Cordialement.

Bonjour!

Merci à vous, j'ai relu le et effectivement ce que j'ai trouvé de changer, par contre pour les formules je vais essayer de revoir et je reviens au besoin.

" Mais en fait la recherche ne se fait que sur la facture, car il ne peut y avoir qu'un numéro unique de facture."

Merci infiniment.

Bonsoir à tous!

La formule ne répond pas, où est l'erreur?

=SIERREUR(INDIRECT("'DETAILS ACHATS'!D"&PETITE.VALEUR('DETAILS ACHATS'!$G:$G;LIGNE()-12);1);"")

NB: Classeur joint au précédent message.

Merci pour votre aide

Relis mon post de 15h23.

Bonsoir Mferrand!

je l'ai bien lu mais la condition se résume juste sur le numéro de la facture, j'ai changé les paramètres de la formule sans y arriver au résultat.

Merci à vous.

Si tu as bien lu, il te faut donc :

1) Recomposer ta feuille pour faire disparaître les colonnes fusionnées.

2) Il faudra rectifier la macro pour ajuster car H ne sera plus en H... et réécrire la formule pour y intégrer les conditions... Mais tu pourras mettre le fichier modifié.

Rechercher des sujets similaires à "corriger moi"