Modifier code VBA

Bonjour,

Voici un formulaire qui n'est pas de moi, mais sur lequel je souhaite m'appuyer pour mon formulaire.

y a t il une possibilité pour choisir les qu'elles combobox vont être dédié au code actuel, c'est à dire à éviter les doublons de choix. Car dans mon formulaires certaines combobox seront alimentées par d'autres données.

Merci

12classeur1-2-3.xlsm (24.22 Ko)

Bonjour,

Regarde en bas de ce fil

Les 2 premiers cbx sont alimentés indépendamment, et les 5 autres ne permettent pas de doublons dans la saisie de noms.

Si cela peut t'aider....

bon courage

Bonsoir et merci car c'est exactement cela mais malheureusement j'ai essaye d'adapter le code a mon formulaire et bien entendu cela ne fonctionne pas .

es ce possible d'avoir une aide de début de code ?

Merci d'avance.

Bonsoir julien35000 ,cousinhub

Tu peux te servir de la propriété Tag des controles pour différencier tes combobox

voir exemple

Re-,

Un essai

Bonne soirée

voici mon code "adapter" a mon formulaire mais rien erreur encore

Private Sub UserForm_Initialize()
Dim Cel As Range
Dim I As Byte
Set Donn = CreateObject("Scripting.Dictionary")
With Base
    Set PlgMaitre = .Range("T2:T" & .Cells(Rows.Count, "T").End(xlUp).Row)
    Set Plgporteurs = .Range("U2:U" & .Cells(Rows.Count, "U").End(xlUp).Row)
    Set Plgcapitons = .Range("G2:G" & .Cells(Rows.Count, "G").End(xlUp).Row)
    Set Plgcercueils = .Range("E2:E" & .Cells(Rows.Count, "E").End(xlUp).Row)
    Set Plgville = .Range("C2:C" & .Cells(Rows.Count, "C").End(xlUp).Row)
    Set Plgcréma = .Range("M2:M" & .Cells(Rows.Count, "M").End(xlUp).Row)
End With
For Each Cel In Plgporteurs
    Donn(Cel.Value) = Cel.Value
Next Cel
Me.ComboBox5.List = PlgMaitre.Value
Me.ComboBox6.List = Plgcercueils.Value
Me.ComboBox7.List = Plgcapitons.Value
Me.ComboBox8.List = Plgville.Value
Me.ComboBox9.List = Plgcréma.Value
CombosCount = 0
For I = 1 To 4
    CombosCount = CombosCount + 1
    ReDim Preserve Combos(1 To CombosCount)
    Set Combos(CombosCount).CombosGroup = Me.Controls("ComboBox" & I)
    Me.Controls("ComboBox" & I).List = Plgporteurs.Value
Next I

For I = 1 To 10
    Me.ComboBox1000.AddItem I
Next I
    Me.MultiPage1.Visible = False
End Sub

Vraiment merci a vous cousin et bob. Jai l'erreur 424 execution qui saffiche au moment de lancer le formulaire.

Merci

Re-,

Tu peux joindre un "ersatsz" de ton fichier?

bonsoir Julien35000

pour aider cousinhub et BOB71AU tu pourrai préciser a quelle ligne se reporte le bug d'erreur 424

Pascal

voici le fichier en piece jointe, il m'affiche erreur mais ne me ramène nul part pour m'indiquer ou est le problème.

Merci d'avance


oups le code et mdp : admin


et le formulaire : fiche convoi

Re-,

Les prochaines fois, évite des codes imposant la fermeture de l'application, avec enregistrement....

Et évite également de mettre des codes dans le ThisWorkbook_Open(), car on sait aller dans le VBE, et on n'a nul besoin d'ouvrir un usf à l'insu de notre plein gré...

Sinon,

Corrigé pas mal d'erreurs...

Tout d'abord, bien que ton onglet se nomme Base, ceci n'est pas correct :

With Base

Il faut

With Sheets("Base")

(c'était la source de ton erreur première...)

Ensuite, si tu alimentes des Combobox avec .List, il ne doit rien y avoir dans les RowSource de ces combobox...

Et enfin, dans le module de classe, j'ai modifié la plage de recherche (plgporteurs)

Bonne soirée

https://www.cjoint.com/c/EEqx3TTxkBa

Bonjour,

Tout d'abord MERCI pour tout les infos et les réponses apportées!!!

Effectivement surement que tout ces codes pourraient être modifier et allégés mes j'ai essayé de faire de la "récup" par si par la pour mon formulaire. pas facile, mais grace a vous sa fonctionne et j'ai pu augmenter mes menu déroulants sans doublons une fois "compris" votre code.

MERCI vraiment

Rechercher des sujets similaires à "modifier code vba"