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

Comment effacer la dernière action créer ?

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 !

picalou

XLDnaute Nouveau
Bonjour à tous,

je vais faire en sorte d'être assez clair.

J'ai créer un petit programme pour créer des devis avec bibliothéque ouvrages.

Lorsque je suis dans la feuille du devis et que je veux insérer une tâche un UserForm se charge me permettant de choisir l'ouvrage voulu.

Donc je sélectionne la ligne qui m'intéresse et je remplis la textBox de la quantité que je souhaite et partir de là, la sélection se range et se calcul automatiquement à la suite des lignes déjà renseignées.

Mon problème est que je souhaiterais pouvoir annuler l'action si je m'apercois qu'il y a erreur.

Donc j'ai adapter un code du forum pour effacer la dernière ligne mais, je n'arrive pas à trouver la manière pour vider la quantité de la bibli qui s'est autoamtiquement renseignée avec la création de la ligne d'ouvrage.

Je ne comprends pas, pouvez vous m'aider.😕

voici le code que j'ai adapté:

Private Sub ComAnnule_Click()
Dim derligne As Integer
ActiveSheet.Unprotect

ActiveSheet.UsedRange.Rows(ActiveSheet.Range("A65536").End(xlUp).Row).Select
Selection.ClearContents

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Merci d'avance
Bon courage à tous 🙂
 
Re : Comment effacer la dernière action créer ?

Bonjour Mutsik,

je te joins le code de l'UserForm qui explique comment tout ce range.

le probléme et que je veux vider la quantité qui s'est rangé dans la feuille "Bibli" en même temps que j'efface le dernière ligne créer.

Private Sub UserForm_Initialize()
Sheets("Devis").Activate
Dim VarDerLigne As Integer
Dim VarPlageList As String
VarDerLigne = Sheets("Bibli").Range("A65536").End(xlUp).Row + 2
VarPlageList = Sheets("Bibli").Range("B2:B" & VarDerLigne).Address
ListBox1.RowSource = "Bibli!" & VarPlageList
End Sub

Private Sub ListBox1_Click()
VarSelectedArticle = UserForm1.ListBox1.ListIndex + 2
LabelPrixUnit.Visible = True
LabelUnite.Visible = True
TextBoxQuantite.Visible = True
LabelPrixTotal.Visible = True
LabelPrixUnit.Visible = True
TextBoxQuantite.Visible = True
LabelPrixTotal.Visible = True
LabelCode = Sheets("Bibli").Range("A" & VarSelectedArticle).Value
LabelPrixUnit = Format(Sheets("Bibli").Range("E" & VarSelectedArticle).Value, "#,##0.00")
LabelUnite = Sheets("Bibli").Range("D" & VarSelectedArticle).Value
LabelPrixTotal = ""
TextBoxQuantite = ""
End Sub

Private Sub TextBoxQuantite_Change()
Dim Chiffre As Integer
If TextBoxQuantite = "" Then Exit Sub
On Error GoTo Sortie
Chiffre = TextBoxQuantite
LabelPrixTotal = Format(LabelPrixUnit * TextBoxQuantite, "# ##0.00")
CommandButton1.Visible = True
Exit Sub
Sortie:
MsgBox "Saisir Uniquement un Entier Numérique"
End Sub

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 = TextBoxQuantite
Exit Sub
Sortie:
MsgBox "La valeur de la Quantité ne peut être qu'un nombre entier !"

End Sub

Private Sub CommandButton3_Click()
Unload UserForm1
Sheets("Devis").Activate
ActiveWorkbook.Save

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Vous ne pouvez pas utiliser ce bouton de fermeture."
Cancel = True
End If
End Sub

Merci d'avance
 
- 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
17
Affichages
1 K
  • Question Question
Réponses
6
Affichages
676
Réponses
14
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…