Valeur cellule non reconnue

Résolu
Coucouhib Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Coucouhib Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous,

voici le problème pour lequel je sollicite votre aide.

Je réalise actuellement un formulaire permettant d'ajouter, de modifier et de supprimer des données.
j 'ai réussi a faire en sorte que l'ensemble des données soit ajouter et ou modifier en fonction de boutons correspondant cependant, pour la suppression j 'ai quelque problème.
l'idée et de supprimer l'ensemble de la ligne si la valeur de la cellule est égale à la combobox1.
voici mon code utilisé :
Private Sub CommandButton5_Click()

 Dim i As Long
 
    If MsgBox("Confirmez-vous la supression ? " & ComboBox1, vbYesNo, "Demande de confirmation de suppression") = vbYes Then
        For i = 65536 To 2 Step -1
            If Cells(i, 1).Value = ComboBox1 Then Worksheets("Transports").Rows(i).Delete
        Next i
    End If

End Sub


cependant, je viens de me rendre compte que la suppression ne fonction que si j’ajoute des données via l'utilisation de mon petit programme que j 'ai réalisé. Si je rentre les données directement à la mains dans la feuille excel, la fonction si dessus ne fonctionne pas. J 'ai bien le message qui s'affiche mais la ligne n 'est pas supprimée.

est ce que quelqu'un pourrait m'aider ?

Nota: j 'en profite pour vous demander s'il est possible de rafraichir une liste déroulant sans devoir relancer la macro ?

Merci

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

ne fonction que si j’ajoute
Peut-etre un probleme de format !!!!

Pas besoin de boucle de balayage pour trouver la cellule !!!

rafraichir une liste déroulant sans devoir relancer la macro ?

definir une formule ex:
maformule----> =DECALER($A$1;;;NBVAL($A:$A))
et definir rowsource de la combobox
ComboBox2.RowSource = "maformule"
0
Coucouhib Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Je suis désolé mais je ne comprends pas ta solution.
tu as certainement raison pour le problème de format. cependant, je ne vois pas comment le modifier.


En ce qui concerne le balayage, je l'ai fait pour que l'ensemble des lignes répondant à combobox 1 soit supprimé. je voyais pas comment faire autrement mais, je suis ouvert a toutes améliorations.

pour "rafraichir une liste déroulant sans devoir relancer la macro ? "
je me suis certainement mal exprimé. Quand je supprime une ligne via le userform, l'ensemble des possibilités de ma combobox sont encore présent même celle que je viens de supprimer. il faut que je quitte le userform et que je le relancer pour que la liste soit à jour.
le but recherché est de rajouter une ligne de programme pour que la liste déroulant soit actualisée juste après la suppression.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > Coucouhib Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

tu as certainement raison pour le problème de format
Pour verifier, mettre un point d'arret sur la ligne du if et a l'arret du programme passer le curseur souris sur les deux mebres du test pour voir le ou les formats

En ce qui concerne le balayage
Ok, si vous avez plusieurs lignes a supprimer, mais partez au moins de la derniere ligne pas du max lignes

le but recherché est de rajouter une ligne de programme
Ben avec une simple formule excel, pas besoin de ligne de programme

mais si vous tenez absolument a du VBA, a la fin de votre sub de suppression:
    With Worksheets("mafeuille")
        ComboBoxX.List = .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row).Value
    End With



Rectification pour
En ce qui concerne le balayage
C'est possible sans boucler sur les lignes
0
Coucouhib Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

je te remercie pour ton aide. Tout est résolut :) .
désolé, les modifications réalisées en entrainant d'autres ça ma pris du temps.

cordialement
0