lier deux macros sur un seul bouton

  • Initiateur de la discussion Initiateur de la discussion mike
  • Date de début Date de début

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 !

M

mike

Guest
Bonjour tout le monde,

j ai ces deux macros :



Private Sub CommandButton1_Click()
'Déclaration des variables
Dim lig, colonne As Integer
Dim Banque As String
Dim Courtage As String
'Coupe la mise a jour ecran
Application.ScreenUpdating = False
'Initialisation des variables
lig = 1
colonne = 2
Banque = CB1.Value
Courtage = ActiveSheet.Range('A7')

'Active la feuille Historique
Sheets('Feuil3').Activate
'Recherche le client selectionné
Do Until ActiveSheet.Cells(lig, colonne) = Banque Or ActiveSheet.Cells(lig, colonne) = ''
lig = lig + 1
Loop

If ActiveSheet.Cells(lig, colonne) = '' Then
MsgBox 'Le client est introuvable dans le tableau Historique'
Else
'Recherche la premiere ligne vide pour ce client
Do Until ActiveSheet.Cells(lig, colonne) = ''
colonne = colonne + 1
Loop
'Colle le montant dans la cellule
ActiveSheet.Cells(lig, colonne) = Courtage

End If
Sheets('Feuil2').Activate
'Remet la mise a jour de l'ecran
Application.ScreenUpdating = True

End Sub
Private Sub CommandButton2_Click()
'Déclaration des variables
Dim lig, colonne As Integer
Dim Banque As String
Dim Courtage As String
'Coupe la mise a jour ecran
Application.ScreenUpdating = False
'Initialisation des variables
lig = 1
colonne = 2
Banque = CB2.Value
Courtage = ActiveSheet.Range('G7')

'Active la feuille Historique
Sheets('Feuil3').Activate
'Recherche le client selectionné
Do Until ActiveSheet.Cells(lig, colonne) = Banque Or ActiveSheet.Cells(lig, colonne) = ''
lig = lig + 1
Loop

If ActiveSheet.Cells(lig, colonne) = '' Then
MsgBox 'Le client est introuvable dans le tableau Historique'
Else
'Recherche la premiere ligne vide pour ce client
Do Until ActiveSheet.Cells(lig, colonne) = ''
colonne = colonne + 1
Loop
'Colle le montant dans la cellule
ActiveSheet.Cells(lig, colonne) = Courtage

End If
Sheets('Feuil2').Activate
'Remet la mise a jour de l'ecran
Application.ScreenUpdating = True

End Sub

et j aimerai soit les transformer en une seule, soit les lier à un seul bouton.

Pouvez vous m aider?
 
le code c est celui la pas l autre!!!!




Private Sub CommandButton1_Click()
'Déclaration des variables
Dim lig, colonne As Integer
Dim Banque As String
Dim Courtage As String
'Coupe la mise a jour ecran
Application.ScreenUpdating = False
'Initialisation des variables
lig = 1
colonne = 2
Banque = CB1.Value
Courtage = ActiveSheet.Range('A7')

'Active la feuille Historique
Sheets('Feuil3').Activate
'Recherche le client selectionné
Do Until ActiveSheet.Cells(lig, colonne) = Banque Or ActiveSheet.Cells(lig, colonne) = ''
lig = lig + 1
Loop

If ActiveSheet.Cells(lig, colonne) = '' Then
MsgBox 'Le client est introuvable dans le tableau Historique'
Else
'Recherche la premiere ligne vide pour ce client
Do Until ActiveSheet.Cells(lig, colonne) = ''
colonne = colonne + 1
Loop
'Colle le montant dans la cellule
ActiveSheet.Cells(lig, colonne) = Courtage

End If
Sheets('Feuil2').Activate
'Remet la mise a jour de l'ecran
Application.ScreenUpdating = True

End Sub



Private Sub CommandButton2_Click()
'Déclaration des variables
Dim lig, colonne As Integer
Dim Banque As String
Dim Courtage As String
'Coupe la mise a jour ecran
Application.ScreenUpdating = False
'Initialisation des variables
lig = 1
colonne = 2
Banque = CB2.Value
Courtage = ActiveSheet.Range('g7')

'Active la feuille Historique
Sheets('Feuil3').Activate
'Recherche le client selectionné
Do Until ActiveSheet.Cells(lig, colonne) = Banque Or ActiveSheet.Cells(lig, colonne) = ''
lig = lig + 1
Loop

If ActiveSheet.Cells(lig, colonne) = '' Then
MsgBox 'Le client est introuvable dans le tableau Historique'
Else
'Recherche la premiere ligne vide pour ce client
Do Until ActiveSheet.Cells(lig, colonne) = ''
colonne = colonne + 1
Loop
'Colle le montant dans la cellule
ActiveSheet.Cells(lig, colonne) = Courtage

End If
Sheets('Feuil2').Activate
'Remet la mise a jour de l'ecran
Application.ScreenUpdating = True

End Sub
 
Re : lier deux macros sur un seul bouton

😕Bonjour, je suis sur xls 2007. Je souhaite faire les opérations suivantes, pouvez vous me donner des idées. :
Sur un User form, je coche un option button sur deux proposé, rempli une text box et choisi une référence dans une combo Box.
Lorsque je click sur le command Button, ul faut que la référence choisie dans la combo dirige le programme vers la feuille portant le meme nom. Ensuite, selon l'optionButton coché, que la colonne soit déterminée (Bou C) et enfin que l'information de la text Box soit remplie dans la première case vide en partant du haut. Etant donnée que 0 doit s'inscrire par défaut dans la case vide (C ou B). Bref, il me faut lier tout cela et j'ai du mal. Merci pour votre aide.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour