exécution bouton si changement dans cellules

meteo62

XLDnaute Nouveau
comment exécuter la CommandButton1_Click() après modification de la cellule A1,b1,d1,f1,h1

merci de votre aide

code présent
------------------------------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
Dim i&, j&, Compteur%
'effacement de la liste existante
'Range("J140:B142").ClearContents
Range("A140:B152").ClearContents
'creeation de la liste selon le résultat
Compteur = 1
For i = 1 To 2
For j = 1 To Cells(136, i).Value
Select Case i
Case 1
Cells(140 + Compteur, 1) = Cells(121 + j, 1)
Cells(140 + Compteur, 2) = Cells(121 + j, 2)
Case 2
Cells(140 + Compteur, 1) = Cells(121 + j, 4)
Cells(140 + Compteur, 2) = Cells(121 + j, 5)
End Select
Compteur = Compteur + 1
Next j
Next i


End Sub

Private Sub CommandButton2_Click()

Dim strPw As String
strPw = "Test"

If InputBox("Saisissez le mot de passe", "Accès à la macro") <> strPw Then
MsgBox ("Mot de passe erroné")

Exit Sub

End If
'effacement de la liste existante
'Range("J140:B142").ClearContents
Range("A122:Be133").ClearContents
End Sub


Private Sub CommandButton3_Click()
'Impression de la 1ème page en paysage
'-------------------------------------
Range("A1:W48").Select 'définition de la plage de cellules constituant la 1ème page
ActiveSheet.PageSetup.PrintArea = "$A$1:$W$48" 'définition de la zone d'impression
ActiveSheet.PageSetup.Orientation = xlLandscape 'mise au format paysage
ActiveSheet.PageSetup.CenterHorizontally = True 'centrage horizontal de la feuille
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'impression

'Impression de la 2ème page en portrait
'--------------------------------------
Range("A50:T119").Select 'définition de la plage de cellules constituant la 3ème page
ActiveSheet.PageSetup.PrintArea = "$A$50:$T$119" 'définition de la zone d'impression
ActiveSheet.PageSetup.Orientation = xlPortrait 'mise au format portrait
ActiveSheet.PageSetup.CenterHorizontally = True 'centrage horizontal de la feuille
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 'impression

Range("A1").Select
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : exécution bouton si changement dans cellules

Bonjour,

peut être ceci, à placer dans le module de la feuille :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1,b1,d1,f1,h1")) Is Nothing Then CommandButton1_Click
End Sub

bon après midi
@+
 

meteo62

XLDnaute Nouveau
Re : exécution bouton si changement dans cellules

merci cela fonctionne

mais si je supprime les données d'une cellule alors erreur

For j = 1 To Cells(136, i).Value



la cellule 136 affiche " #DIV/0! " Normal pas de données si le tableau est vide


comment faire pour éviter de tenir compte de cette erreur sans arreter le reste du code
 

meteo62

XLDnaute Nouveau
Re : exécution bouton si changement dans cellules

es cellules A1,b1,d1,f1,h1 sont remplie de chiffre ( par moi même ) et tous les code fonctionne

les données A1,b1,d1,f1,h1 sont replie dans la ligne 136 la pas de problème et le code CommandButton1_Click() fonctionne super bien

mais si je supprime les données A1,b1 code erreur For j = 1 To Cells(136, i).Value ( logique car la cellule 136 indique #DIV/0! )

comment éviter l'erreur en cas de suppression de données dans la cellule A1 ,B1

Private Sub CommandButton1_Click()
Dim i&, j&, Compteur%
'effacement de la liste existante
'Range("J140:B142").ClearContents
Range("A140:B152").ClearContents
'creeation de la liste selon le résultat
Compteur = 1
For i = 1 To 2
For j = 1 To Cells(136, i).Value
Select Case i
Case 1
Cells(140 + Compteur, 1) = Cells(121 + j, 1)
Cells(140 + Compteur, 2) = Cells(121 + j, 2)
Case 2
Cells(140 + Compteur, 1) = Cells(121 + j, 4)
Cells(140 + Compteur, 2) = Cells(121 + j, 5)
End Select
Compteur = Compteur + 1
Next j
Next i

End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : exécution bouton si changement dans cellules

re,

modifie comme suit :

Code:
Compteur = 1
For i = 1 To 2
If not iserror (Cells(136, i).Value) Then
For j = 1 To Cells(136, i).Value
Select Case i
Case 1
Cells(140 + Compteur, 1) = Cells(121 + j, 1)
Cells(140 + Compteur, 2) = Cells(121 + j, 2)
Case 2
Cells(140 + Compteur, 1) = Cells(121 + j, 4)
Cells(140 + Compteur, 2) = Cells(121 + j, 5)
End Select
Compteur = Compteur + 1
Next j
End If
Next i
 

Discussions similaires

Statistiques des forums

Discussions
312 277
Messages
2 086 715
Membres
103 378
dernier inscrit
phdrouart