Comment annuler l'entrée d'une listBox

picalou

XLDnaute Nouveau
Bonjour à tous,

Voilà mon problème,

J'ai un User qui contient une liste box de choix et quelques boutons
quand je choisi une ligne de la liste pour lintégrer par le bouton ajouter tout fonctionne à merveille.

Par contre je voudrais ajouter un bouton dans l'user me permettant d'annuler l'entrée que je viens de faire et là je n'y arrive pas.

je vous joins le code ci-dessous en espérant qu'une âme charitable pourra m'aider.

Private Sub CommandButton1_Click()
Dim VarDerL As Integer
Dim Quantite As Integer
VarDerL = Sheets("Devis").Range("B1000").End(xlUp).Row + 2

If TextBoxQuantite = "" Then
MsgBox "Vous Devez Saisir Une Quantité"
TextBoxQuantite.Visible = True
TextBoxQuantite.SetFocus
Exit Sub
End If

If TextBoxQuantite <= 0 Then
MsgBox "Vous Devez Saisir Une Valeur Positive "
TextBoxQuantite.Visible = True
TextBoxQuantite = ""
TextBoxQuantite.SetFocus
Exit Sub
End If

If Quantite Then
MsgBox "La quantité demandée " & TextBoxQuantite
TextBoxQuantite.Visible = True
TextBoxQuantite.SetFocus
Exit Sub
End If

If VarDerL = 1000 Then
MsgBox "Vous êtes arrivé à la dernière ligne de ce Devis", vbCritical, "Fin de Devis"
Exit Sub
End If

With Sheets("Devis")
.Range("A" & VarDerL) = LabelCode
.Range("B" & VarDerL) = ListBox1
.Range("C" & VarDerL) = TextBoxQuantite
.Range("D" & VarDerL) = LabelUnite
.Range("E" & VarDerL).Select
ActiveCell.FormulaR1C1 = "=IF(RC[2]>0,RC[2]*R8C10)"
.Range("F" & VarDerL).Select
ActiveCell.FormulaR1C1 = "=RC[-3]*RC[-1]"
.Range("G" & VarDerL) = Format(LabelPrixUnit, "# ##0.00")
.Range("H" & VarDerL) = Format(LabelPrixTotal, "#,##0.00")
.Range("I" & VarDerL).Select
ActiveCell.FormulaR1C1 = "=1-(RC[-2]/RC[-4])"
End With
Sheets("Bibli").Range("C" & VarSelectedArticle).Value = _
Sheets("Bibli").Range("C" & VarSelectedArticle).Value + TextBoxQuantite
Exit Sub
Sortie:
MsgBox "La valeur de la Quantité ne peut être qu'un nombre entier !"

End Sub


merci d'avance bonne soirée.
 

soenda

XLDnaute Accro
Re : Comment annuler l'entrée d'une listBox

Bonsoir le fil, picalou

Un exemple d'intruction qui peux te convenir.
A mettre dans le code du Bouton Annuler (évènement click)
Code:
Private Sub CommandButton2_Click()
    [A1:I1].Offset([B1001].End(xlUp).Row - 1).ClearContents
End Sub
A plus
 

picalou

XLDnaute Nouveau
Re : Comment annuler l'entrée d'une listBox

Bonjour le fil, Soenda

Merci pour cette solution, elle fonctionne parfaitement pour effacer la dernière ligne entrée.
Par contre il reste un problème, je ne sais pas si tu as remarqué mais quand une ligne s'insère aprés selection elle range la valeur de la textbox quantité aussi dans une autre feuille nommée "Bibli" et je souhaiterais que quand on efface la ligne, la quantité de la textbox s'efface aussi dans la feuille "Bibli" et c'est là, le gros du problème.

Merci d'avance.

Bonne journée.
 

soenda

XLDnaute Accro
Re : Comment annuler l'entrée d'une listBox

Re,

Un essai à l'aveugle :
Code:
Private Sub CommandButton2_Click()
    Sheets("Devis").[A1:I1].Offset([B1001].End(xlUp).Row - 1).ClearContents
    Sheets("Bibli").Range("C" & VarSelectedArticle).ClearContents
End Sub
A plus
 

picalou

XLDnaute Nouveau
Re : Comment annuler l'entrée d'une listBox

Bonjour le fil, Soenda

Ton code à l'aveugle marche trés bien mais, mon problème est que je ne veux pas effacer complétement la cellule de la feuille "Bibli" mais déduire la quantité effacée.
Je vais tenter de modifier mon classeur pour l'envoi sur le fil mais j'ai 32 feuilles avec des données confidentielles.

Ma première feuille "Devis" sert à l'élaboration du devis est donc c'est par listbox que j'intégre des lignes dans mon devis et je voudrais me donner la possibilité d'effacer n'importe qu'elle ligne insérée en déduisant la quantité effacée dans la ligne correspondante de la feuille "Bibli" car ces chiffres me permettent de générer des bons de commandes matériaux automatiquement.

Dis moi si ces renseignements sont suffisants ou s'il faut vraiment que je transforme mon classeur.

Merci d'avance
à plus.
 

soenda

XLDnaute Accro
Re : Comment annuler l'entrée d'une listBox

Re,

Si j'ai bien compris :

picalou à dit:
... je voudrais me donner la possibilité d'effacer n'importe qu'elle ligne ...
- Donc pas forcément la dernière ligne ?


picalou à dit:
... en déduisant la quantité effacée dans la ligne correspondante de la feuille "Bibli"...
- en déduisant de Sheets("Bibli").Range("C" & VarSelectedArticle) la valeur contenue dans
. Sheets("Devis").Range("C" & Ligne_A_Effacer)


Si c'est ok, je te poste une proposition demain

A plus :)
 

picalou

XLDnaute Nouveau
Re : Comment annuler l'entrée d'une listBox

Re,

oui c'est tout a fait cela, je souhaite avoir la possibilité d'effacer n'importe quelle ligne de "Devis" et enlever la quantité dans "Bibli" correspondant à la ligne effacer.

merci à toi

j'attend ta propo.

Bonne soirée.
 

soenda

XLDnaute Accro
Re : Comment annuler l'entrée d'une listBox

Bonjour le fil, picalou
Code:
Sub b()
 
    With Sheets("Bibli").Range("C" & VarSelectedArticle)
        .Value = .Value - TextBoxQuantite
    End With
 
    Sheets("Devis").[A1].Offset(CInt(VarSelectedArticle) - 1).EntireRow.Delete
 
End Sub
J'ai supposé que "VarSelectedArticle" contient le n° de ligne à effacer (à adapter si besoin),
et que la listeBox est automatiquement mise à jour.

Si pas ça. Il faudra poster le fichier (code + feuilles Bibli et Devis avec quelques données bidons).

A plus
 

picalou

XLDnaute Nouveau
Re : Comment annuler l'entrée d'une listBox

Bonjour le fil, Soenda

merci pour ta propo mais, je n'arrive pas à obtenir encore ce que je souhaite.
j'ai suivi tes conseils et donc j'ai préparé le classeur avec devis et bibli et données bidons. Par contre je n'ai jamais compresser un fichier pour l'envoyer!!! vraiment trop nul sur ce coup là. Peux-tu m'indiquer la démarche à suivre.

merci d'avance

A plus.
 

jeanpierre

Nous a quitté
Repose en paix
Re : Comment annuler l'entrée d'une listBox

Bonjour picalou, soenda,

En l'absence de soenda, que je salue,

Dans l'explorateur Windows, clic droit sur ton fichier et Envoyer vers/Dossier compressé.

Pas plus compliqué que cela.

Bonne soirée.

Jean-Pierre
 

picalou

XLDnaute Nouveau
Re : Comment annuler l'entrée d'une listBox

Bonjour Jean-Pierre,

merci pou l'info mais, quand je compresse mon fichier qui fait 298Ko il me donne un nouveau fichier Winrar de 254Ko ? donc je n'arrive toujours pas a le joindre à mon envoi.

merci de m'aider.

A plus
 

picalou

XLDnaute Nouveau
Re : Comment annuler l'entrée d'une listBox

Re au fil, Soenda

Grace à ta précieuse aide et au fait que je n'arrivais pas a t'envoyer mon dossier, j'ai essayé plusieurs combinaisons et j'ai fini par trouver la solution qui m'intéresse.

Je te transmet le code ci-dessous :

Private Sub ComSupprime_Click()

If TextBoxQuantite = "" Then
MsgBox "Vous Devez Saisir Une Quantité"
TextBoxQuantite.Visible = True
TextBoxQuantite.SetFocus
Exit Sub
End If

If ActiveCell = "" Then
MsgBox "Vous Devez sélectionner la ligne d'ouvrage a enlever"
Exit Sub
End If

With Sheets("Bibli").Range("C" & VarSelectedArticle)
.Value = .Value - TextBoxQuantite
End With

Sheets("Devis").Select
ActiveCell.EntireRow.ClearContents

End Sub

Voilà, la magie VBA et Excel a fonctionnée.

Merci à toi,

à bientôt.

Picalou:):):);)
 

Discussions similaires

Réponses
6
Affichages
313

Statistiques des forums

Discussions
313 928
Messages
2 103 631
Membres
108 739
dernier inscrit
titoooo428