Besoin de completer une macro on lui ajoutant trois conditions

  • Initiateur de la discussion Initiateur de la discussion INFINITY100
  • 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 !

INFINITY100

XLDnaute Occasionnel
Bonsoir,

Je voudrai ajouter ces trois conditions citées ci-dessous à la ligne résultant du calcul suivant
Code:
f.[D65000].End(xlUp).Row

Si = 11 : la liste est vide ==> ne rien faire
Si = 12 : il n'y a qu'un élément ==> le mettre dans choix 1
Si > 12 : on crée la liste avec un transpose qui met la plage dans choix1

Voici mon code dans ça totalité

Code:
Public Sub UserForm_Initialize()
  Set f = Sheets("liste_Fournisseurs")
    choix1 = Application.Transpose(f.Range("d12:D" & f.[D65000].End(xlUp).Row))
    Me.ComboBox1.List = choix1
End Sub

Merci à vous tous

Cordialement
 
Re : Besoin de completer une macro on lui ajoutant trois conditions

Bonsoir à tous

Une possibilité
Code:
Public Sub UserForm_Initialize()
Dim f As Worksheet, choix1, nbl&
Set f = Sheets("liste_fournisseurs")
nbl = f.[D65000].End(xlUp).Row
Select Case nbl
    Case Is < 12
    Exit Sub
    Case 12
    Me.ComboBox1.AddItem f.Range("D12")
    Case Else
    choix1 = Application.Transpose(f.Range("D12:D" & nbl))
    Me.ComboBox1.List = choix1
End Select
End Sub
 
Dernière édition:
Re : Besoin de completer une macro on lui ajoutant trois conditions

Merci mon ami pour ce fil

la formule a éliminé le bug que j'avais mais je trouve un problème s'agissant de la Combobox qui ne se rempli qu’après l'ajout du deuxième fournisseur

Voici le fichier joint

Merci encore
 

Pièces jointes

Re : Besoin de completer une macro on lui ajoutant trois conditions

Re

la formule a éliminé le bug que j'avais mais je trouve un problème s'agissant de la Combobox qui ne se rempli qu’après l'ajout du deuxième fournisseur
je me suis basé sur que tu as écris dans ton premier message
Si on a un seul fournisseur ( donc en D12), la comboxbox n'aura qu'un élement
Si la liste est vide (donc rien en D2 et plus bas), alors la comboxbox est vide
Si la liste en [noparse]D12😀X[/noparse] n'est pas vide alors le combobox contient les valeurs de [noparse]D12😀X[/noparse]
 
Re : Besoin de completer une macro on lui ajoutant trois conditions

Merci pour la réponse

Oui faute d'inattention de ma part maintenant que ce problème est apparu je reformule ma question avec le fichier joint précédemment 🙂

Si y a rien de D12 jusqu'à DX il se passe rien ça je pense c'est résolu

et que faudra t-il changer au code pour dire

Si le premier fournisseur est ajouté (bien entendu ça sera en D12) alors affiche le dans le combobox ainsi que les fournisseurs suivants bien évidement

Merci encore 🙂
 
Re : Besoin de completer une macro on lui ajoutant trois conditions

Re

C'est déjà ce que fait mon code
(en tout cas, c'est ce qui se passe sur mon PC)
01INFINITY.jpg
 
Dernière édition:
Re : Besoin de completer une macro on lui ajoutant trois conditions

Bonsoir Regueiro

Merci pour ton œil de lynx 😉
(comme je testais à partir de la feuille active, cela fonctionnait quand même 😉 )

(J'ai édité mon code VBA en conséquence suite à ta remarque)
 
Re : Besoin de completer une macro on lui ajoutant trois conditions

Merci beaucoup mes amis Staple1600 et Regueiro

Si ce n'est pas la remarque de Regueiro j'allais perdre la raison comment chez Staple1600 fonctionne et chez moi non 🙂🙂

sauf que maintenant le bug saute vers l'autre macro celle de la saisie semi automatique

Pour être plus claire joins le fichiers dedans le problème survenu

et merci encore 😉
 

Pièces jointes

Dernière édition:
Re : Besoin de completer une macro on lui ajoutant trois conditions

bonjour staple1600,rigueiro, infinity100 et le forum
j'ai modifié le code comme ceci
Code:
Private Sub ComboBox1_Change()
  If Me.ComboBox1.ListIndex = 1 And IsError(Application.Match(Me.ComboBox1, Choix1, 0)) Then
    Me.ComboBox1.List = Filter(Choix1, Me.ComboBox1.Text, True, vbTextCompare)
    Me.ComboBox1.DropDown
  End If
End Sub
car le bug donnait que la combobox est = -1 donc j'ai enlever le signe - devant le 1 la 1ère ligne du code et c'est mieux
le fornisseur s'ajoute, mais ce n'est peut etre pas ce qu'il faut faire

je rejoint le fichier modifier

Pascal
 

Pièces jointes

Dernière édition:
Re : Besoin de completer une macro on lui ajoutant trois conditions

Bonjour grisan29

Merci pour la réponse et bien oui en enlevant le (-) à coté du 1 ça fixe le premier bug mais le deuxième persiste toujours d'autant plus sans le (-1) quand j'ajoute le 1er fournisseur ça bug toujours en tapant la 1ere lettre de son nom dans le Combo Box en plus au clique sur la flèche du Combo Box je trouve ce nom répété 3 fois dans la liste du Combo Box.

Cordialement
 
Dernière édition:
Re : Besoin de completer une macro on lui ajoutant trois conditions

bonsoir infinity100, staple1600
le fichier que je t'ai mis dans le post #11 a la combobox qui déroule tous les fournisseurs et non le même et ce fichier est celui que tu as mis dans ta réponse #10

Pascal
 
Dernière édition:
Re : Besoin de completer une macro on lui ajoutant trois conditions

bonsoir Pascal

Merci pour la réponse mais je crois qu'on c pas bien compris 🙂 donc je m'explique

* Si on change le -1 par 1 la saisie semi-automatique ne fonctionnera plu alors qu'elle est primordiale pour mon fichier
* Si on garde le -1 tel qu'il est les deux bug cités dans mon premier fichier joint (c'est à dire quand la liste des fournisseur est vierge)

Donc voila mon souci avec la macro c'est quand la liste des fournisseur est vierge c'est là que les bug se manifestent

Merci pascal
 
- 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

Discussions similaires

Réponses
1
Affichages
704
Réponses
3
Affichages
796
Réponses
0
Affichages
898
Retour