Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Eviter les vides dans une Cbx

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 !

MuscatMimi

XLDnaute Accro
Bonjour a tout le Forum

J'ai une Cbx qui me sert a sélectionner un N° de chéque
aprés validation , ce N° ce retire de ma liste colonne A

pour passer en colonne B
de ce fait il y a des vides dans ma Cbx

Voici mon Code du bouton Validation

Dim L As Integer '
Dim ind As Integer 'déclare la variable ind (INDice)
Dim r As Range 'déclare la variable r (Recherche)
Dim Ligne
ind = CbxN°Chéque.ListIndex 'définit la variable ind

With Sheets("N°Chéque").Range("A1:A100")
Set r = .Find(CbxN°Chéque.Value) 'définit la variable r
If Not r Is Nothing Then 'condition : si il existe au moins une occurrence de r
r.Offset(0, 1).Value = r.Value 'place la valeur de r dans la cellule adjacente (colonne B)
r.Value = "" 'efface la valeur de r
End If 'fin de la condition
End With


Et celui de Initialize

With Sheets("N°Chéque")
CbxN°Chéque.List = .Range("A2:A" & .Range("A65536").End(xlUp).Row).Value
End With

Merci de votre Aide a l'avance

Bonne journée a tous,,,,,,,,,,,,,,,,,,avec du soleil
 
Re : Eviter les vides dans une Cbx

Bonjour vaucluse immo,

Tu peux modifier l'événement Change de ton ComboBox1 comme suit :

Code:
Private Sub ComboBox1_Change()
With Sheets("N°Chéque")
  Set r = .Range("A1:A100").Find(CbxN°Chéque.Value) 'définit la variable r
  If Not r Is Nothing Then 'condition : si il existe au moins une occurrence de r
    r.Offset(0, 1).Value = r.Value 'place la valeur de r dans la cellule adjacente (colonne B)
    r.Value = ""
    CbxN°Chéque.RowSource = ""
    For n = 1 To 100
      If .Cells(n, 1) > 0 Then CbxN°Chéque..AddItem (.Cells(n, 1).Value)
    Next
  End If 'fin de la condition
End With

End Sub

Espérant t'avoir aidé.

Cordialement.
 
Dernière édition:
Re : Eviter les vides dans une Cbx

Re-bonjour vaucluse immo,


Autant pour moi, ta combobox n'est pas initialisée. De plus, il y avait une erreur dans le code que je t'ai passé : 2 points qui se suivent dans la boucle (CbxN°Chéque..AddItem )

Essaies donc ainsi :

Code:
Private Sub CbxN°Chèque_Change()
With Sheets("NoChèque")
  Set r = .Range("A1:A100").Find(CbxN°Chèque.Value) 'définit la variable r
  If Not r Is Nothing Then 'condition : si il existe au moins une occurrence de r
    r.Offset(0, 1).Value = r.Value 'place la valeur de r dans la cellule adjacente (colonne B)
    r.Value = ""
    CbxN°Chèque.RowSource = ""
    For n = 1 To 100
      If .Cells(n, 1) > 0 Then CbxN°Chèque.AddItem (.Cells(n, 1).Value)
    Next
  End If 'fin de la condition
End With

End Sub

Private Sub UserForm_Activate()
derlign = Sheets("NoChèque").Range("A65536").End(xlUp).Row
CbxN°Chèque.RowSource = "NoChèque!a1:a" & derlign

End Sub

PS : j'ai renommé la feuille 1 car le symbole 'N°' provoquait une erreur (Voir fichier ci-joint).

Cordialement.
 

Pièces jointes

Re : Eviter les vides dans une Cbx

Re papounet et le forum

merci de t'occuper de mon cas
J'ai vu pour les deux points
le premier code était bon j'ai essayé aprés
j'ai placé le code de la ComboBox Cbx_Change() dans Private UserForm_Initialize
ça fonctionne parfaitement
Merci encore
Bonne soirée

A + sur ce forum
 
- 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
5
Affichages
925
Réponses
4
Affichages
742
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…