NPY-TBTJ
Messages postés7Date d'inscriptionjeudi 11 juin 2009StatutMembreDernière intervention26 novembre 2014
-
25 nov. 2014 à 16:03
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
26 nov. 2014 à 15:04
Bonjour,
J'ai crée un petit formulaire avec entre-autre un combox (liste des fournisseur). Jusque la il fonctionne correctement.
Le probleme survient quand la liste des fournisseur change. Le combobox ne se met pas a jour et pir, il perd meme certains fournisseur.
J'ai attaché un ptit fichier excel pour mieux me faire comprendre.
Bession d'aide d'urgence.
au fait, ne sachant pas comment joindre un fichier excel ici, alors...
Dans le formulaire Liste des fournisseur j'ai:
Private Sub UserForm_Initialize() Dim Z As Integer
For Z = 2 To Range("A2").End(xlDown).Row Me.ComboBox1.AddItem Sheets("Sheet1").Cells(Z, 1) Next Z
End Sub
Private Sub ComboBox1_Change() If Me.ComboBox1.Value = "==>Ajout Nouveau Fournisseur" Then AjoutFsseur.Show End If End Sub
Private Sub CommandButton1_Click() Sheets("Sheet1").Range("C2").Value = Me.ComboBox1 End Sub
Dans le second formulaire Ajout nouveau fournisseur j'ai:
Private Sub CommandButton1_Click() If AjoutFsseur.TextBox1.Value = "" Then MsgBox Application.UserName & vbCr & "Donnée manquante. Prière de completer la donnée manquante." & vbCr & vbCr & "Merci", vbExclamation + vbOKOnly, "Informations incompletes" GoTo FinOK Else: Call AjouterUnFournisseur Me.TextBox1.Value = "" End If
Me.Hide FinOK: End Sub
Et enfin dans mon module j'ai:
Sub AjouterUnFournisseur() ' Ajout d'un nouveau fournisseur
et la plage à lier à ta combo serait alors toujours :
Range("A2:A" & ligne_a_remplir)
non ?
Ceci étant dit : le "lien" n'est à redéfinir qu'après le tri, si tu tries (évident...pour éviter une mise à jour deux fois au lieu d'une seule )
Voilà voilà
tout cela est fort simple.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 25 nov. 2014 à 16:20
Bonjour,
Lie donc ta combobox à la plage de données de ta feuille de calcul.
Elle se mettra automatiquement à jour lorsque tu modifieras la plage que tu redéfinis et à laquelle tu las lies.
Pas besoins, avec cette méthode, d'alimenter la combo par additem en boucle.
Evite par ailleurs de travailler à coups de "select", selection, etc ...
Utilise directement les objets Excel
Range("A2").End(xlDown).Offset(1, 0)
n'est par ailleurs pas forcément la ligne suivant la dernière remplie dans la colonne A ! Ce sera par exemple A4 si A4 est vide et qu'existent ensuite des cellules remplies, de A5 à A# ! (mais c'est là encore autre chose ...)
NPY-TBTJ
Messages postés7Date d'inscriptionjeudi 11 juin 2009StatutMembreDernière intervention26 novembre 2014 25 nov. 2014 à 16:40
Merci ucfoutu,
La methode
Range("A2").End(xlDown).Offset(1, 0)
ne fonctionne pas bien dans une colonne a donnée discontinue mais je m'arrange pour ne pas qu'il y ait des vide.
Par ailleurs, je n'ai pas très bien compris ta réponse pour résoudre mon problème.
:( ;(
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 26 nov. 2014 à 15:04
Si (comme c'est apparemment le cas) ta difficulté est résolue, c'est en cliquant sur le tag RESOLU au niveau de ton tout premier message dans cette discussion, que tu peux fermer et libérer ce sujet.