Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/11/2011, 13h58   #1
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
Par défaut lancer une macro en fonction si une cellule est vide ou non

bonjour à tout le monde...

je reviens sur un sujet que j'avais déjà soumis mais qui finalement me donne une erreur 13

jfontaine m'avait proposé une solution qui me convenait parfaitement don je remercie encore mais une fois en pratique ça me renvoi une erreur d'exécution '13' incompatibilité de type

Code :
1
2
3
4
5
Private Sub Worksheet_Change(ByVal Target As Range)
 
'l'erreur renvoyé est sur cette ligne 
If Target.Address = "$D$3" And Target.Value <> "" Then Mamacro 
End Sub
alors si je rentre une valeur en D3 et valide ok ça execute bien ma macro...
Là ou ça me donne une erreur 13 c'est lorsque je vide la cellule...

Merci pour votre aide

et bon week end à tous.
Tim
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 15h24   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Essais comme ceci
Code :
1
2
3
4
5
6
Private Sub Worksheet_Change(ByVal Target As Range)
 
If Not Intersect(Target, Range("D3")) Is Nothing Then
    If Range("D3").Value <> "" Then MaMecro
End If
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 25/11/2011, 15h35   #3
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
Super mercatog...comme d'habitude...!!!

je comprends mieux maintenant.

bien à toi...
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 15h47   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
J'attendais que tu demande pourquoi tu avais l'erreur 13 sur ton code.
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/11/2011, 15h52   #5
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
tu es un véritable expert...

Pourquoi j'ai cette erreur ?

bien à toi...
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 16h10   #6
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Quand tu as fais cette ligne
Code :
If Target.Address = "$D$3" And Target.Value
Supposons que sur notre feuille, 2 cellules ou plus en été changées (effacées ou suite à un collage de plusieurs cellules), le code doit tester les 2 conditions
1. Si l'adresse de Target est D3
2. Si la valeur de Target est vide

Or, nous avions changés plusieurs cellules, le premier test passe sans problème mais le blocage est au 2ème puisqu'on teste un tableau (de 2 cellules) avec une chaine de caractère vide
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 26/11/2011, 14h12   #7
Nouveau Membre du Club
 
Homme tof tim
Technicien maintenance
Inscription : septembre 2011
Messages : 101
Détails du profil
Informations personnelles :
Nom : Homme tof tim
Localisation : Belgique

Informations professionnelles :
Activité : Technicien maintenance
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : septembre 2011
Messages : 101
Points : 39
Points : 39
Merco à toi mercatog...c'est trés clair...
j'ai adapté et devinnnne...ça marche

bon week end à toi.

Tim
timtof2011 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h23.


 
 
 
 
Partenaires

Hébergement Web