Microsoft 365 Bouton option dans UserForm qui vient ajouter +1 dans une cellule

Olive de BI

XLDnaute Nouveau
Bonjour à tous,
Je viens chercher votre aide pour trouver le codage nécessaire pour que quand je coche l'option d'un bouton (virement, chèques ou espèces) et que je valide les valeurs des combobox servent à aiguiller la cellule où rajouter + 1 au chiffre déjà présent.
Je vous joins le fichier si d'aventure vous pouvez palier à mes fortes incompétences.
Merci d'avance
 

Pièces jointes

  • Classeur1 - Copie.xlsm
    19 KB · Affichages: 4
Solution
@Gégé-45550 Bonsoir,
Après moults essais, tutos, vidéos et en suivant vos pistes, j'ai trouvé l'exacte réponse à mon besoin.
La voici:
Code:
Private Sub UserForm_Initialize()
Set Ws = ActiveSheet
With Me.cboPrenomDuPatient
For j = 15 To Ws.Range("B" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("B" & j)
Next j
End With
End Sub

Private Sub btValider_Click()
ActiveSheet.Select
Dim ligne As Long
If Me.cboPrenomDuPatient.ListIndex = -1 Then Exit Sub
ligne = Me.cboPrenomDuPatient.ListIndex + 15
Range("F" & ligne).Select
Range("F" & ligne).Value = Range("F" & ligne).Value

    If obtVirement.Value = True Then
    Range("F" & ligne).Select
    Range("F" & ligne).Value = Range("F" & ligne).Value + 1
    End If

    If obtCheque.Value =...

Gégé-45550

XLDnaute Accro
Bonjour à tous,
Je viens chercher votre aide pour trouver le codage nécessaire pour que quand je coche l'option d'un bouton (virement, chèques ou espèces) et que je valide les valeurs des combobox servent à aiguiller la cellule où rajouter + 1 au chiffre déjà présent.
Je vous joins le fichier si d'aventure vous pouvez palier à mes fortes incompétences.
Merci d'avance
Bonsoir,
Une proposition de code pour un bouton ActiveX nommé 'btValider' (à ajouter par vos soins sur la Feuil1) :
VB:
Private Sub btValider_Click()
Dim Prenom$, Nom$, Val(3) As Boolean, i%, j%, derlig%
    derlig = ThisWorkbook.Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
    Prenom = Me.cboPrenomDuPatient.Value: Nom = Me.cboNomDuPatient.Value
    Val(0) = Me.obtVirement.Value: Val(1) = Me.obtCheque.Value: Val(2) = Me.obtEspeces.Value
    For i = 0 To 2
        If Val(i) = True Then
            For j = 15 To derlig
                If ThisWorkbook.Worksheets("Feuil1").Cells(j, 2) = Prenom And ThisWorkbook.Worksheets("Feuil1").Cells(j, 3) = Nom Then
                    ThisWorkbook.Worksheets("Feuil1").Cells(j, i + 6) = ThisWorkbook.Worksheets("Feuil1").Cells(j, i + 6) + 1
                    GoTo Fin
                End If
            Next j
        End If
    Next i
Fin:
    Unload Me
End Sub

NB : Dans votre Userform, il ne me semble pas judicieux de choisir une personne au moyen de deux ComboBox, il serait sans doute préférable de n'en utiliser qu'un combinant Nom et Prénom.

Cordialement,
 

Olive de BI

XLDnaute Nouveau
@Gégé-45550 Bonsoir,
Après moults essais, tutos, vidéos et en suivant vos pistes, j'ai trouvé l'exacte réponse à mon besoin.
La voici:
Code:
Private Sub UserForm_Initialize()
Set Ws = ActiveSheet
With Me.cboPrenomDuPatient
For j = 15 To Ws.Range("B" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("B" & j)
Next j
End With
End Sub

Private Sub btValider_Click()
ActiveSheet.Select
Dim ligne As Long
If Me.cboPrenomDuPatient.ListIndex = -1 Then Exit Sub
ligne = Me.cboPrenomDuPatient.ListIndex + 15
Range("F" & ligne).Select
Range("F" & ligne).Value = Range("F" & ligne).Value

    If obtVirement.Value = True Then
    Range("F" & ligne).Select
    Range("F" & ligne).Value = Range("F" & ligne).Value + 1
    End If

    If obtCheque.Value = True Then
    Range("G" & ligne).Select
    Range("G" & ligne).Value = Range("G" & ligne).Value + 1
    End If

    If obtEspeces.Value = True Then
    Range("H" & ligne).Select
    Range("H" & ligne).Value = Range("H" & ligne).Value + 1
    End If

End Sub

Merci pour tout et bonne soirée.
 

Discussions similaires

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko