Microsoft 365 Remplissage selon Userform

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 !

FCMLE44

XLDnaute Impliqué
Bonjour

Dans le fichier joint, je souhaite paramétrer mon userform 2, et en fonction des données inscrites dans ce userform, les transférer dans un tableau apparaissant dans la feuille Courriers Salariés. J'ai préparé les userform et le premier est déjà codé

Je vous indique les explications dans le fichier joint

Merci
 

Pièces jointes

Solution
Bonjour FCMLE, bonjour le forum,

Pour la gomme :

VB:
Private Sub CommandButton4_Click()
Dim CTRL As Control

'effacer
If MsgBox("Si vous effacez, vous perdrez toutes les données figurant sur les courriers." & " Etes-vous sûr de vouloir continuer?", vbYesNo + vbCritical, "Effacement des données du courrier") = vbNo Then Exit Sub
For Each CTRL In Me.Controls
    If TypeOf CTRL Is MSForms.TextBox Or TypeOf CTRL Is MSForms.ComboBox Then CTRL.Value = ""
Next CTRL
'Unload Montants
End Sub

Pour les lignes à masquer (même si j'avoue que je ne comprends pas bien ta requête) :

Code:
Sub masquer_ligne_Vide()
Dim O As Worksheet
Dim cel As Range

Set O = Worksheets("Courriers Salariés")
For Each cel In O.Range("B2:B10,B13:B14")
    If...
Bonjour

Alors j'ai essayé d'avancer seul

Lorsque je clique sur mon userform2 et que je remplis la case montant et les montants se mettent à jour automatiquement au fil de l'eau dans la feuil1 colonne B
J'aimerais maintenant pouvoir ajouter les choses suivantes
- A l'aide du bouton gomme les éléments de mon userform2 en cas d'erreur
- copier coller les lignes du tableau ainsi remplies dans la feuille courrier en A83 et A141 en masquant les lignes dont les montants sont à zéro

Cordialement
 

Pièces jointes

Dernière édition:
Je viens de réussir en écrivant ceci

Code:
Sub masquer_ligne_Vide()
Dim cel As Range
For Each cel In Range("B2:B10,B13:B14")
If cel = "" Then
cel.EntireRow.Hidden = True
End If
Next
End Sub

mais si toutes les lignes sont masquées en dessous de la ligne 14 alors je souhaiterais qu'il supprime dans ce cas les lignes 13 et 14

Me restera a faire le copier coller et l'ajouter à cette macro.

Mais là je sèche si vous avez une piste, pourriez-vous m'en faire part ?

Merci
 

Pièces jointes

Bonjour FCMLE, bonjour le forum,

Pour la gomme :

VB:
Private Sub CommandButton4_Click()
Dim CTRL As Control

'effacer
If MsgBox("Si vous effacez, vous perdrez toutes les données figurant sur les courriers." & " Etes-vous sûr de vouloir continuer?", vbYesNo + vbCritical, "Effacement des données du courrier") = vbNo Then Exit Sub
For Each CTRL In Me.Controls
    If TypeOf CTRL Is MSForms.TextBox Or TypeOf CTRL Is MSForms.ComboBox Then CTRL.Value = ""
Next CTRL
'Unload Montants
End Sub

Pour les lignes à masquer (même si j'avoue que je ne comprends pas bien ta requête) :

Code:
Sub masquer_ligne_Vide()
Dim O As Worksheet
Dim cel As Range

Set O = Worksheets("Courriers Salariés")
For Each cel In O.Range("B2:B10,B13:B14")
    If cel = "" Then cel.EntireRow.Hidden = True
Next
If O.Rows(14 & ":" & Application.Rows.Count).Hidden = True Then O.Rows(13 & ":" & 14).Hidden = True
End Sub
 
- 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

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
418
Réponses
17
Affichages
653
Réponses
12
Affichages
282
Retour