Qq'un peut me dire où est mon erreur dans la macro ci-dessous. J'ai un
message d'erreur : Erreur exécution '13'.
Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de
valeur
'condition : si le changement se fait ailleurs que dans la colonne F de
Previsionnel alors la macro sort de la procédure
Sheets("previsionnel").Select
If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub
'si colonne F<>"rien" alors ça lance la macro du Module4 :
bouton_transformation_du_devis_en_facture
If Target.Value <> """" Then
Module4.bouton_transformation_du_devis_en_facture
End Sub
Le message d'erreur me surligne en jaune l'vant derniere ligne de la macro :
If Target.Value <> """" Then
Comme je débute en VBA je ne comprends pas de quelle erreur il s'agit.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Est-ce que dans macro est inscrite dans le module feuille "previsionnel" parce que procédure utilisée est événementielle et tu n'as pas besoin de ceci : Sheets("previsionnel").Select
Car la macro est supposé d'être dans la bonne feuille déjà. Ainsi target et la plage définie Range("F2:F65000") font aussi parti de la feuille où le code est utilisé.
Il ne fait aucun sens d'utiliser une procédure événementielle et vouloir avoir un effet (une action) sur une autre feuille de calcul.
"JBF" a écrit dans le message de news:
Bonsoir,
Qq'un peut me dire où est mon erreur dans la macro ci-dessous. J'ai un message d'erreur : Erreur exécution '13'.
Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de valeur 'condition : si le changement se fait ailleurs que dans la colonne F de Previsionnel alors la macro sort de la procédure Sheets("previsionnel").Select If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub 'si colonne F<>"rien" alors ça lance la macro du Module4 : bouton_transformation_du_devis_en_facture If Target.Value <> """" Then Module4.bouton_transformation_du_devis_en_facture End Sub
Le message d'erreur me surligne en jaune l'vant derniere ligne de la macro : If Target.Value <> """" Then
Comme je débute en VBA je ne comprends pas de quelle erreur il s'agit.
Merci pour votre aide.
JBF
Est-ce que dans macro est inscrite dans le module
feuille "previsionnel" parce que procédure utilisée
est événementielle et tu n'as pas besoin de ceci :
Sheets("previsionnel").Select
Car la macro est supposé d'être dans la bonne feuille déjà.
Ainsi target et la plage définie Range("F2:F65000") font
aussi parti de la feuille où le code est utilisé.
Il ne fait aucun sens d'utiliser une procédure événementielle
et vouloir avoir un effet (une action) sur une autre feuille de calcul.
"JBF" <nospam-jbfield@free.fr> a écrit dans le message de news:
Ofes0nsOJHA.3496@TK2MSFTNGP04.phx.gbl...
Bonsoir,
Qq'un peut me dire où est mon erreur dans la macro ci-dessous. J'ai un
message d'erreur : Erreur exécution '13'.
Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de
valeur
'condition : si le changement se fait ailleurs que dans la colonne F de
Previsionnel alors la macro sort de la procédure
Sheets("previsionnel").Select
If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub
'si colonne F<>"rien" alors ça lance la macro du Module4 :
bouton_transformation_du_devis_en_facture
If Target.Value <> """" Then
Module4.bouton_transformation_du_devis_en_facture
End Sub
Le message d'erreur me surligne en jaune l'vant derniere ligne de la macro :
If Target.Value <> """" Then
Comme je débute en VBA je ne comprends pas de quelle erreur il s'agit.
Est-ce que dans macro est inscrite dans le module feuille "previsionnel" parce que procédure utilisée est événementielle et tu n'as pas besoin de ceci : Sheets("previsionnel").Select
Car la macro est supposé d'être dans la bonne feuille déjà. Ainsi target et la plage définie Range("F2:F65000") font aussi parti de la feuille où le code est utilisé.
Il ne fait aucun sens d'utiliser une procédure événementielle et vouloir avoir un effet (une action) sur une autre feuille de calcul.
"JBF" a écrit dans le message de news:
Bonsoir,
Qq'un peut me dire où est mon erreur dans la macro ci-dessous. J'ai un message d'erreur : Erreur exécution '13'.
Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de valeur 'condition : si le changement se fait ailleurs que dans la colonne F de Previsionnel alors la macro sort de la procédure Sheets("previsionnel").Select If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub 'si colonne F<>"rien" alors ça lance la macro du Module4 : bouton_transformation_du_devis_en_facture If Target.Value <> """" Then Module4.bouton_transformation_du_devis_en_facture End Sub
Le message d'erreur me surligne en jaune l'vant derniere ligne de la macro : If Target.Value <> """" Then
Comme je débute en VBA je ne comprends pas de quelle erreur il s'agit.
Merci pour votre aide.
JBF
Youky
Bonsoir, je verrais bien If Target.Value <> "" Then au lieu de If Target.Value <> """" Then
Youky
Bonsoir,
je verrais bien
If Target.Value <> "" Then
au lieu de
If Target.Value <> """" Then
Bonsoir, je verrais bien If Target.Value <> "" Then au lieu de If Target.Value <> """" Then
Youky
JBF
Bonjour,
D'abord merci à toi et à Youky de vous être pencher sur mon "problème".
Ma macro est effectivement inscrite dans feuille "prévisionnel". J'ai donc suivi ton conseil et j'ai supprimé ceci : Sheets("prévisionnel").Select
Ça ne change rien.
Youky : que je mette If Target.Value <> "" Then ou If Target.Value <> """" Then ca ne change rien. j'ai toujours l'erreur d'"execution 13 sur cette ligne.
Pour vous en dire un peu plus sur l'utilité et le besoin de cette macro (où d'une autre offrant le même resultat!) J'ai un formulaire que je complete sur la page "Formulaire". Quand je valide ce formulaire en cliquant sur un bouton, une macro ajoute une ligne sur la page "Ne pas ouvrir" et les valeurs du formulaire sont transposées dans les bonnes colonnes sur une même ligne.
Ensuite, et c'est là que j'ai precisement besoin de vous, une macro rattachée à la feuille "Previsionnel" ajoute une ligne lorsqu'une nouvelle ligne est ajouté sur la page "Ne pas ouvrir" et recopie certaines cellules de certaines colonnes.
Tout en ecrivant je suis entrain de me dire que j'ai bien compliqué la chose et qu'il faudrait que j'ajoute une condition à ma macro rattachée à mon Formulaire pour que s'ajoute en même temps les valeurs que je valide en cliquant sur le bouton.
Tout ça est peut être un peu confus et je m'en excuse mais je me suis mis au VBA pour la premiere fois en début de semaine. J'essaye d'apprendre sur le tas.
Je vais essayer de modifier ça ce week-end et je reviendrais vers vous en début de semaine pour ne pas vous solliciter inutilement.
Merci à vous
JBF
"michdenis" a écrit dans le message de news:
Est-ce que dans macro est inscrite dans le module feuille "previsionnel" parce que procédure utilisée est événementielle et tu n'as pas besoin de ceci : Sheets("previsionnel").Select
Car la macro est supposé d'être dans la bonne feuille déjà. Ainsi target et la plage définie Range("F2:F65000") font aussi parti de la feuille où le code est utilisé.
Il ne fait aucun sens d'utiliser une procédure événementielle et vouloir avoir un effet (une action) sur une autre feuille de calcul.
"JBF" a écrit dans le message de news:
Bonsoir,
Qq'un peut me dire où est mon erreur dans la macro ci-dessous. J'ai un message d'erreur : Erreur exécution '13'.
Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de valeur 'condition : si le changement se fait ailleurs que dans la colonne F de Previsionnel alors la macro sort de la procédure Sheets("previsionnel").Select If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub 'si colonne F<>"rien" alors ça lance la macro du Module4 : bouton_transformation_du_devis_en_facture If Target.Value <> """" Then Module4.bouton_transformation_du_devis_en_facture End Sub
Le message d'erreur me surligne en jaune l'vant derniere ligne de la macro : If Target.Value <> """" Then
Comme je débute en VBA je ne comprends pas de quelle erreur il s'agit.
Merci pour votre aide.
JBF
Bonjour,
D'abord merci à toi et à Youky de vous être pencher sur mon "problème".
Ma macro est effectivement inscrite dans feuille "prévisionnel".
J'ai donc suivi ton conseil et j'ai supprimé ceci :
Sheets("prévisionnel").Select
Ça ne change rien.
Youky : que je mette
If Target.Value <> "" Then
ou
If Target.Value <> """" Then
ca ne change rien. j'ai toujours l'erreur d'"execution 13 sur cette ligne.
Pour vous en dire un peu plus sur l'utilité et le besoin de cette macro (où
d'une autre offrant le même resultat!)
J'ai un formulaire que je complete sur la page "Formulaire".
Quand je valide ce formulaire en cliquant sur un bouton, une macro ajoute
une ligne sur la page "Ne pas ouvrir" et les valeurs du formulaire sont
transposées dans les bonnes colonnes sur une même ligne.
Ensuite, et c'est là que j'ai precisement besoin de vous, une macro
rattachée à la feuille "Previsionnel" ajoute une ligne lorsqu'une nouvelle
ligne est ajouté sur la page "Ne pas ouvrir" et recopie certaines cellules
de certaines colonnes.
Tout en ecrivant je suis entrain de me dire que j'ai bien compliqué la chose
et qu'il faudrait que j'ajoute une condition à ma macro rattachée à mon
Formulaire pour que s'ajoute en même temps les valeurs que je valide en
cliquant sur le bouton.
Tout ça est peut être un peu confus et je m'en excuse mais je me suis mis au
VBA pour la premiere fois en début de semaine.
J'essaye d'apprendre sur le tas.
Je vais essayer de modifier ça ce week-end et je reviendrais vers vous en
début de semaine pour ne pas vous solliciter inutilement.
Merci à vous
JBF
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
u4ytJvsOJHA.144@TK2MSFTNGP03.phx.gbl...
Est-ce que dans macro est inscrite dans le module
feuille "previsionnel" parce que procédure utilisée
est événementielle et tu n'as pas besoin de ceci :
Sheets("previsionnel").Select
Car la macro est supposé d'être dans la bonne feuille déjà.
Ainsi target et la plage définie Range("F2:F65000") font
aussi parti de la feuille où le code est utilisé.
Il ne fait aucun sens d'utiliser une procédure événementielle
et vouloir avoir un effet (une action) sur une autre feuille de calcul.
"JBF" <nospam-jbfield@free.fr> a écrit dans le message de news:
Ofes0nsOJHA.3496@TK2MSFTNGP04.phx.gbl...
Bonsoir,
Qq'un peut me dire où est mon erreur dans la macro ci-dessous. J'ai un
message d'erreur : Erreur exécution '13'.
Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement
de
valeur
'condition : si le changement se fait ailleurs que dans la colonne F de
Previsionnel alors la macro sort de la procédure
Sheets("previsionnel").Select
If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub
'si colonne F<>"rien" alors ça lance la macro du Module4 :
bouton_transformation_du_devis_en_facture
If Target.Value <> """" Then
Module4.bouton_transformation_du_devis_en_facture
End Sub
Le message d'erreur me surligne en jaune l'vant derniere ligne de la macro
:
If Target.Value <> """" Then
Comme je débute en VBA je ne comprends pas de quelle erreur il s'agit.
D'abord merci à toi et à Youky de vous être pencher sur mon "problème".
Ma macro est effectivement inscrite dans feuille "prévisionnel". J'ai donc suivi ton conseil et j'ai supprimé ceci : Sheets("prévisionnel").Select
Ça ne change rien.
Youky : que je mette If Target.Value <> "" Then ou If Target.Value <> """" Then ca ne change rien. j'ai toujours l'erreur d'"execution 13 sur cette ligne.
Pour vous en dire un peu plus sur l'utilité et le besoin de cette macro (où d'une autre offrant le même resultat!) J'ai un formulaire que je complete sur la page "Formulaire". Quand je valide ce formulaire en cliquant sur un bouton, une macro ajoute une ligne sur la page "Ne pas ouvrir" et les valeurs du formulaire sont transposées dans les bonnes colonnes sur une même ligne.
Ensuite, et c'est là que j'ai precisement besoin de vous, une macro rattachée à la feuille "Previsionnel" ajoute une ligne lorsqu'une nouvelle ligne est ajouté sur la page "Ne pas ouvrir" et recopie certaines cellules de certaines colonnes.
Tout en ecrivant je suis entrain de me dire que j'ai bien compliqué la chose et qu'il faudrait que j'ajoute une condition à ma macro rattachée à mon Formulaire pour que s'ajoute en même temps les valeurs que je valide en cliquant sur le bouton.
Tout ça est peut être un peu confus et je m'en excuse mais je me suis mis au VBA pour la premiere fois en début de semaine. J'essaye d'apprendre sur le tas.
Je vais essayer de modifier ça ce week-end et je reviendrais vers vous en début de semaine pour ne pas vous solliciter inutilement.
Merci à vous
JBF
"michdenis" a écrit dans le message de news:
Est-ce que dans macro est inscrite dans le module feuille "previsionnel" parce que procédure utilisée est événementielle et tu n'as pas besoin de ceci : Sheets("previsionnel").Select
Car la macro est supposé d'être dans la bonne feuille déjà. Ainsi target et la plage définie Range("F2:F65000") font aussi parti de la feuille où le code est utilisé.
Il ne fait aucun sens d'utiliser une procédure événementielle et vouloir avoir un effet (une action) sur une autre feuille de calcul.
"JBF" a écrit dans le message de news:
Bonsoir,
Qq'un peut me dire où est mon erreur dans la macro ci-dessous. J'ai un message d'erreur : Erreur exécution '13'.
Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de valeur 'condition : si le changement se fait ailleurs que dans la colonne F de Previsionnel alors la macro sort de la procédure Sheets("previsionnel").Select If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub 'si colonne F<>"rien" alors ça lance la macro du Module4 : bouton_transformation_du_devis_en_facture If Target.Value <> """" Then Module4.bouton_transformation_du_devis_en_facture End Sub
Le message d'erreur me surligne en jaune l'vant derniere ligne de la macro : If Target.Value <> """" Then
Comme je débute en VBA je ne comprends pas de quelle erreur il s'agit.
Merci pour votre aide.
JBF
michdenis
| Ma macro est effectivement inscrite dans feuille "prévisionnel". | J'ai donc suivi ton conseil et j'ai supprimé ceci :
La macro qui suit ne provoque aucune erreur à partir des tests effectués si tu as placé le code dans la bonne feuille :
'---------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de valeur 'condition : si le changement se fait ailleurs 'que dans la colonne F de 'Previsionnel alors la macro sort de la procédure
If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub 'si colonne F<>"rien" alors ça lance la macro du Module4 : 'bouton_transformation_du_devis_en_facture If Target.Value <> "" Then 'Module4.bouton_transformation_du_devis_en_facture MaMacro End If End Sub '----------------------------------------------
| Ma macro est effectivement inscrite dans feuille "prévisionnel".
| J'ai donc suivi ton conseil et j'ai supprimé ceci :
La macro qui suit ne provoque aucune erreur à partir des tests effectués
si tu as placé le code dans la bonne feuille :
'----------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'à chaque changement de valeur
'condition : si le changement se fait ailleurs
'que dans la colonne F de
'Previsionnel alors la macro sort de la procédure
If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub
'si colonne F<>"rien" alors ça lance la macro du Module4 :
'bouton_transformation_du_devis_en_facture
If Target.Value <> "" Then
'Module4.bouton_transformation_du_devis_en_facture
MaMacro
End If
End Sub
'----------------------------------------------
| Ma macro est effectivement inscrite dans feuille "prévisionnel". | J'ai donc suivi ton conseil et j'ai supprimé ceci :
La macro qui suit ne provoque aucune erreur à partir des tests effectués si tu as placé le code dans la bonne feuille :
'---------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de valeur 'condition : si le changement se fait ailleurs 'que dans la colonne F de 'Previsionnel alors la macro sort de la procédure
If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub 'si colonne F<>"rien" alors ça lance la macro du Module4 : 'bouton_transformation_du_devis_en_facture If Target.Value <> "" Then 'Module4.bouton_transformation_du_devis_en_facture MaMacro End If End Sub '----------------------------------------------
michdenis
En passant, Il se peut très bien que ton erreur soit générée par l'appel de la macro :
Module4.bouton_transformation_du_devis_en_facture
Ce n'est pas l'appel de la macro qui est problématique mais plutôt son exécution. Comme tu n'as pas publié son code, il est impossible de dire si c'est effectivement le cas.
La macro qui suit ne provoque aucune erreur à partir des tests effectués si tu as placé le code dans la bonne feuille :
'---------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de valeur 'condition : si le changement se fait ailleurs 'que dans la colonne F de 'Previsionnel alors la macro sort de la procédure
If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub 'si colonne F<>"rien" alors ça lance la macro du Module4 : 'bouton_transformation_du_devis_en_facture If Target.Value <> "" Then Module4.bouton_transformation_du_devis_en_facture End If End Sub '----------------------------------------------
En passant, Il se peut très bien que ton erreur soit générée
par l'appel de la macro :
Module4.bouton_transformation_du_devis_en_facture
Ce n'est pas l'appel de la macro qui est problématique mais
plutôt son exécution. Comme tu n'as pas publié son code, il
est impossible de dire si c'est effectivement le cas.
La macro qui suit ne provoque aucune erreur à partir des tests effectués
si tu as placé le code dans la bonne feuille :
'----------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'à chaque changement de valeur
'condition : si le changement se fait ailleurs
'que dans la colonne F de
'Previsionnel alors la macro sort de la procédure
If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub
'si colonne F<>"rien" alors ça lance la macro du Module4 :
'bouton_transformation_du_devis_en_facture
If Target.Value <> "" Then
Module4.bouton_transformation_du_devis_en_facture
End If
End Sub
'----------------------------------------------
En passant, Il se peut très bien que ton erreur soit générée par l'appel de la macro :
Module4.bouton_transformation_du_devis_en_facture
Ce n'est pas l'appel de la macro qui est problématique mais plutôt son exécution. Comme tu n'as pas publié son code, il est impossible de dire si c'est effectivement le cas.
La macro qui suit ne provoque aucune erreur à partir des tests effectués si tu as placé le code dans la bonne feuille :
'---------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque changement de valeur 'condition : si le changement se fait ailleurs 'que dans la colonne F de 'Previsionnel alors la macro sort de la procédure
If Intersect(Target, Range("F2:F65000")) Is Nothing Then Exit Sub 'si colonne F<>"rien" alors ça lance la macro du Module4 : 'bouton_transformation_du_devis_en_facture If Target.Value <> "" Then Module4.bouton_transformation_du_devis_en_facture End If End Sub '----------------------------------------------