Lancer une macro si cellule non vide

DJ333 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
DJ333 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour
Je débute en macro... Je veux que en cliquant sur un bouton, les macros s'exécutent seulement si une cellule indiquée est renseignée. Mais mon code ne fonctionne pas, cela répond "manque une condition if...
Comment faire ? Par avance merci!

Sub crefeuille1()
' crefeuille1 Macro
If Range("C2") = "" Then
Sheets("Revue type").Select
Sheets("Revue type").Copy After:=Sheets(2)
Set MySheet = ActiveSheet
With MySheet
.Name = Worksheets("Trame").Range("e2")
End If
End With
End Sub
Sub crefeuille2()
'
' crefeuille2 Macro
'
If Range("C3") = "" Then
Sheets("Revue type").Select
Sheets("Revue type").Copy After:=Sheets(2)
Set MySheet = ActiveSheet
With MySheet
.Name = Worksheets("Trame").Range("e3")
End If
End With
End Sub

3 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonsoir

1° ta macro ne s'exécute que si la cellule C2 est vide
si tu veux qu'elle ne s'exécute que lorsque C2 est remplie il faut écrire If Range("C2") <>"" Then

2° Le End if devrait se trouver après le End with

3° With n'est utile que lorsqu'il y a plusieurs instructions à appliquer à la même plage pour éviter d'avoir à répéter, ici tu n'as qu'une instruction tu peux donc simplifier en remplaçant
With MySheet
.Name = Worksheets("Trame").Range("e2")
End with
par
ActiveSheet.Name = Worksheets("Trame").Range("e2")

Cdlmnt
Via
0