Bonjour,
J'ai un soucis sur des automatismes.
Avec le worksheet_change, si une saisie est faite dans une colonne précise,
une macro se lance pour saisir des formules dans deux autres colonnes. Mais
je donne la possibilité à l'utilisateur de récrire par dessus ces données.
Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma
macro se lance quand même.
Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une
copie.
J'ai réussi à contourner le problème pour le bouton droit avec un
before_rightclic. Mais pour les autres copie je ne voie pas comment faire
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
Pounet95
Bonjour, Peut-être tester le nombre de cellules de la cible, du genre :
If Target.Cells.Count>1 then Exit sub
-- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/ Conseillé : http://dj.joss.free.fr/netiquet.htm (charte, nétiquette, conseils, abréviations, souriettes...) http://www.excelabo.net/mpfe/connexion.php (connexion, conseils...)
"Laurent" a écrit dans le message de news:
Bonjour, J'ai un soucis sur des automatismes. Avec le worksheet_change, si une saisie est faite dans une colonne précise, une macro se lance pour saisir des formules dans deux autres colonnes. Mais je donne la possibilité à l'utilisateur de récrire par dessus ces données. Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma macro se lance quand même. Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une copie. J'ai réussi à contourner le problème pour le bouton droit avec un before_rightclic. Mais pour les autres copie je ne voie pas comment faire
Merci d'avance de votre réponse. Cdlmt Laurent
Bonjour,
Peut-être tester le nombre de cellules de la cible, du genre :
If Target.Cells.Count>1 then Exit sub
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)
"Laurent" <Laurent@discussions.microsoft.com> a écrit dans le message de
news: 0F229148-7A9E-4662-9FD8-3A8916E60862@microsoft.com...
Bonjour,
J'ai un soucis sur des automatismes.
Avec le worksheet_change, si une saisie est faite dans une colonne
précise,
une macro se lance pour saisir des formules dans deux autres colonnes.
Mais
je donne la possibilité à l'utilisateur de récrire par dessus ces données.
Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma
macro se lance quand même.
Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une
copie.
J'ai réussi à contourner le problème pour le bouton droit avec un
before_rightclic. Mais pour les autres copie je ne voie pas comment faire
Bonjour, Peut-être tester le nombre de cellules de la cible, du genre :
If Target.Cells.Count>1 then Exit sub
-- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/ Conseillé : http://dj.joss.free.fr/netiquet.htm (charte, nétiquette, conseils, abréviations, souriettes...) http://www.excelabo.net/mpfe/connexion.php (connexion, conseils...)
"Laurent" a écrit dans le message de news:
Bonjour, J'ai un soucis sur des automatismes. Avec le worksheet_change, si une saisie est faite dans une colonne précise, une macro se lance pour saisir des formules dans deux autres colonnes. Mais je donne la possibilité à l'utilisateur de récrire par dessus ces données. Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma macro se lance quand même. Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une copie. J'ai réussi à contourner le problème pour le bouton droit avec un before_rightclic. Mais pour les autres copie je ne voie pas comment faire
Merci d'avance de votre réponse. Cdlmt Laurent
PMO
Bonjour,
Une piste avec le code suivant à copier dans le code d'une feuille vierge afin de tester.
IL FAIT 1) Si l'utilisateur saisit une donnée dans la colonne "C" alors "toto" s'affiche en colonne "E" sur la même ligne que la saisie. 2) La condition If Target.Rows.Count > 1 Or _ Target.Columns.Count > 1 Then Exit Sub empêche la macro de se poursuivre si la zone de saisie comporte plus d'une ligne OU plus d'une colonne.
'******************* Private Sub Worksheet_Change(ByVal Target As Range) If Target.Rows.Count > 1 Or _ Target.Columns.Count > 1 Then Exit Sub If Target.Column = 3 Then Range(Cells(Target.Row, Target.Column + 2), _ Cells(Target.Row, Target.Column + 2)) = "toto" End If End Sub '*******************
Cordialement.
-- PMO Patrick Morange
Bonjour, J'ai un soucis sur des automatismes. Avec le worksheet_change, si une saisie est faite dans une colonne précise, une macro se lance pour saisir des formules dans deux autres colonnes. Mais je donne la possibilité à l'utilisateur de récrire par dessus ces données. Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma macro se lance quand même. Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une copie. J'ai réussi à contourner le problème pour le bouton droit avec un before_rightclic. Mais pour les autres copie je ne voie pas comment faire
Merci d'avance de votre réponse. Cdlmt Laurent
Bonjour,
Une piste avec le code suivant à copier dans le code
d'une feuille vierge afin de tester.
IL FAIT
1) Si l'utilisateur saisit une donnée dans la colonne "C" alors
"toto" s'affiche en colonne "E" sur la même ligne que la saisie.
2) La condition
If Target.Rows.Count > 1 Or _
Target.Columns.Count > 1 Then Exit Sub
empêche la macro de se poursuivre si la zone de saisie
comporte plus d'une ligne OU plus d'une colonne.
'*******************
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count > 1 Or _
Target.Columns.Count > 1 Then Exit Sub
If Target.Column = 3 Then
Range(Cells(Target.Row, Target.Column + 2), _
Cells(Target.Row, Target.Column + 2)) = "toto"
End If
End Sub
'*******************
Cordialement.
--
PMO
Patrick Morange
Bonjour,
J'ai un soucis sur des automatismes.
Avec le worksheet_change, si une saisie est faite dans une colonne précise,
une macro se lance pour saisir des formules dans deux autres colonnes. Mais
je donne la possibilité à l'utilisateur de récrire par dessus ces données.
Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma
macro se lance quand même.
Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une
copie.
J'ai réussi à contourner le problème pour le bouton droit avec un
before_rightclic. Mais pour les autres copie je ne voie pas comment faire
Une piste avec le code suivant à copier dans le code d'une feuille vierge afin de tester.
IL FAIT 1) Si l'utilisateur saisit une donnée dans la colonne "C" alors "toto" s'affiche en colonne "E" sur la même ligne que la saisie. 2) La condition If Target.Rows.Count > 1 Or _ Target.Columns.Count > 1 Then Exit Sub empêche la macro de se poursuivre si la zone de saisie comporte plus d'une ligne OU plus d'une colonne.
'******************* Private Sub Worksheet_Change(ByVal Target As Range) If Target.Rows.Count > 1 Or _ Target.Columns.Count > 1 Then Exit Sub If Target.Column = 3 Then Range(Cells(Target.Row, Target.Column + 2), _ Cells(Target.Row, Target.Column + 2)) = "toto" End If End Sub '*******************
Cordialement.
-- PMO Patrick Morange
Bonjour, J'ai un soucis sur des automatismes. Avec le worksheet_change, si une saisie est faite dans une colonne précise, une macro se lance pour saisir des formules dans deux autres colonnes. Mais je donne la possibilité à l'utilisateur de récrire par dessus ces données. Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma macro se lance quand même. Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une copie. J'ai réussi à contourner le problème pour le bouton droit avec un before_rightclic. Mais pour les autres copie je ne voie pas comment faire
Merci d'avance de votre réponse. Cdlmt Laurent
Laurent
Merci beaucoup, c'est exactement ce que je voulais. Je vais même me servir du comptage pour aller plus loin (j'avais un problème de saisie multiple que j'avais contourné mais pas résolu)
Cdlmt Laurent
Bonjour,
Une piste avec le code suivant à copier dans le code d'une feuille vierge afin de tester.
IL FAIT 1) Si l'utilisateur saisit une donnée dans la colonne "C" alors "toto" s'affiche en colonne "E" sur la même ligne que la saisie. 2) La condition If Target.Rows.Count > 1 Or _ Target.Columns.Count > 1 Then Exit Sub empêche la macro de se poursuivre si la zone de saisie comporte plus d'une ligne OU plus d'une colonne.
'******************* Private Sub Worksheet_Change(ByVal Target As Range) If Target.Rows.Count > 1 Or _ Target.Columns.Count > 1 Then Exit Sub If Target.Column = 3 Then Range(Cells(Target.Row, Target.Column + 2), _ Cells(Target.Row, Target.Column + 2)) = "toto" End If End Sub '*******************
Cordialement.
-- PMO Patrick Morange
Bonjour, J'ai un soucis sur des automatismes. Avec le worksheet_change, si une saisie est faite dans une colonne précise, une macro se lance pour saisir des formules dans deux autres colonnes. Mais je donne la possibilité à l'utilisateur de récrire par dessus ces données. Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma macro se lance quand même. Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une copie. J'ai réussi à contourner le problème pour le bouton droit avec un before_rightclic. Mais pour les autres copie je ne voie pas comment faire
Merci d'avance de votre réponse. Cdlmt Laurent
Merci beaucoup, c'est exactement ce que je voulais.
Je vais même me servir du comptage pour aller plus loin (j'avais un problème
de saisie multiple que j'avais contourné mais pas résolu)
Cdlmt
Laurent
Bonjour,
Une piste avec le code suivant à copier dans le code
d'une feuille vierge afin de tester.
IL FAIT
1) Si l'utilisateur saisit une donnée dans la colonne "C" alors
"toto" s'affiche en colonne "E" sur la même ligne que la saisie.
2) La condition
If Target.Rows.Count > 1 Or _
Target.Columns.Count > 1 Then Exit Sub
empêche la macro de se poursuivre si la zone de saisie
comporte plus d'une ligne OU plus d'une colonne.
'*******************
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count > 1 Or _
Target.Columns.Count > 1 Then Exit Sub
If Target.Column = 3 Then
Range(Cells(Target.Row, Target.Column + 2), _
Cells(Target.Row, Target.Column + 2)) = "toto"
End If
End Sub
'*******************
Cordialement.
--
PMO
Patrick Morange
Bonjour,
J'ai un soucis sur des automatismes.
Avec le worksheet_change, si une saisie est faite dans une colonne précise,
une macro se lance pour saisir des formules dans deux autres colonnes. Mais
je donne la possibilité à l'utilisateur de récrire par dessus ces données.
Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma
macro se lance quand même.
Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une
copie.
J'ai réussi à contourner le problème pour le bouton droit avec un
before_rightclic. Mais pour les autres copie je ne voie pas comment faire
Merci beaucoup, c'est exactement ce que je voulais. Je vais même me servir du comptage pour aller plus loin (j'avais un problème de saisie multiple que j'avais contourné mais pas résolu)
Cdlmt Laurent
Bonjour,
Une piste avec le code suivant à copier dans le code d'une feuille vierge afin de tester.
IL FAIT 1) Si l'utilisateur saisit une donnée dans la colonne "C" alors "toto" s'affiche en colonne "E" sur la même ligne que la saisie. 2) La condition If Target.Rows.Count > 1 Or _ Target.Columns.Count > 1 Then Exit Sub empêche la macro de se poursuivre si la zone de saisie comporte plus d'une ligne OU plus d'une colonne.
'******************* Private Sub Worksheet_Change(ByVal Target As Range) If Target.Rows.Count > 1 Or _ Target.Columns.Count > 1 Then Exit Sub If Target.Column = 3 Then Range(Cells(Target.Row, Target.Column + 2), _ Cells(Target.Row, Target.Column + 2)) = "toto" End If End Sub '*******************
Cordialement.
-- PMO Patrick Morange
Bonjour, J'ai un soucis sur des automatismes. Avec le worksheet_change, si une saisie est faite dans une colonne précise, une macro se lance pour saisir des formules dans deux autres colonnes. Mais je donne la possibilité à l'utilisateur de récrire par dessus ces données. Le problème est que si l'utilisateur fait un copier coller d'un bloc, ma macro se lance quand même. Comment je pourrais désactiver ma macro avant que l'utilisateur fasse une copie. J'ai réussi à contourner le problème pour le bouton droit avec un before_rightclic. Mais pour les autres copie je ne voie pas comment faire