Bonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
Bonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
Bonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
voici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lStephBonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
voici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lSteph
Bonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
voici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lStephBonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
Merci pour ta reponse mais
dans ta macrovoici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
ça ne fonctionne pas avec <>1
par contre, si je remplace par =1
ça fonctionne a chaque changement de valeur dans la cellule
donc ça ne me va pas non plus
As tu une explication car je ne suis pas un "fort en macro"
Merci d'avance
Patrice C.
"LSteph" a écrit dans le message de news:
%23xvP%Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lStephBonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
Merci pour ta reponse mais
dans ta macro
voici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
ça ne fonctionne pas avec <>1
par contre, si je remplace par =1
ça fonctionne a chaque changement de valeur dans la cellule
donc ça ne me va pas non plus
As tu une explication car je ne suis pas un "fort en macro"
Merci d'avance
Patrice C.
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23xvP%23CwYHHA.1240@TK2MSFTNGP04.phx.gbl...
Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lSteph
Bonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
Merci pour ta reponse mais
dans ta macrovoici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
ça ne fonctionne pas avec <>1
par contre, si je remplace par =1
ça fonctionne a chaque changement de valeur dans la cellule
donc ça ne me va pas non plus
As tu une explication car je ne suis pas un "fort en macro"
Merci d'avance
Patrice C.
"LSteph" a écrit dans le message de news:
%23xvP%Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lStephBonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
J'ai resolu mon probleme
j'ai rajouté
Private Sub Worksheet_Activate()
valeur = Range("a1")
End Sub
et tout fonctionne
Merci
Bon WE
Patrice C.
"Patcas" a écrit dans le message de
news: wxwIh.67$Merci pour ta reponse mais
dans ta macrovoici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
ça ne fonctionne pas avec <>1
par contre, si je remplace par =1
ça fonctionne a chaque changement de valeur dans la cellule
donc ça ne me va pas non plus
As tu une explication car je ne suis pas un "fort en macro"
Merci d'avance
Patrice C.
"LSteph" a écrit dans le message de news:
%23xvP%Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lStephBonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
J'ai resolu mon probleme
j'ai rajouté
Private Sub Worksheet_Activate()
valeur = Range("a1")
End Sub
et tout fonctionne
Merci
Bon WE
Patrice C.
"Patcas" <nospam_artenio49_nospam@hotmail.com> a écrit dans le message de
news: wxwIh.67$gz4.19@nntpserver.swip.net...
Merci pour ta reponse mais
dans ta macro
voici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
ça ne fonctionne pas avec <>1
par contre, si je remplace par =1
ça fonctionne a chaque changement de valeur dans la cellule
donc ça ne me va pas non plus
As tu une explication car je ne suis pas un "fort en macro"
Merci d'avance
Patrice C.
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23xvP%23CwYHHA.1240@TK2MSFTNGP04.phx.gbl...
Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lSteph
Bonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
J'ai resolu mon probleme
j'ai rajouté
Private Sub Worksheet_Activate()
valeur = Range("a1")
End Sub
et tout fonctionne
Merci
Bon WE
Patrice C.
"Patcas" a écrit dans le message de
news: wxwIh.67$Merci pour ta reponse mais
dans ta macrovoici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
ça ne fonctionne pas avec <>1
par contre, si je remplace par =1
ça fonctionne a chaque changement de valeur dans la cellule
donc ça ne me va pas non plus
As tu une explication car je ne suis pas un "fort en macro"
Merci d'avance
Patrice C.
"LSteph" a écrit dans le message de news:
%23xvP%Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lStephBonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
Ce que j'avais proposé fonctionne parfaitement avec ce que j'avais compris
de ta demande
tu voulais que si la valeur de A1 soit 1 la macro s'execute
sachant que a1 était l'objet d'un calcul.
ce que tu évoques n'a rien à voir , j'en déduis que j'avais mal compris!
même si sincèrement je ne comprends ni pourquoi ni comment,
si tout compte fait tu as résolu ton pb c'est l'essentiel!
@+
lStephJ'ai resolu mon probleme
j'ai rajouté
Private Sub Worksheet_Activate()
valeur = Range("a1")
End Sub
et tout fonctionne
Merci
Bon WE
Patrice C.
"Patcas" a écrit dans le message de
news: wxwIh.67$Merci pour ta reponse mais
dans ta macrovoici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
ça ne fonctionne pas avec <>1
par contre, si je remplace par =1
ça fonctionne a chaque changement de valeur dans la cellule
donc ça ne me va pas non plus
As tu une explication car je ne suis pas un "fort en macro"
Merci d'avance
Patrice C.
"LSteph" a écrit dans le message de news:
%23xvP%Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lStephBonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
Ce que j'avais proposé fonctionne parfaitement avec ce que j'avais compris
de ta demande
tu voulais que si la valeur de A1 soit 1 la macro s'execute
sachant que a1 était l'objet d'un calcul.
ce que tu évoques n'a rien à voir , j'en déduis que j'avais mal compris!
même si sincèrement je ne comprends ni pourquoi ni comment,
si tout compte fait tu as résolu ton pb c'est l'essentiel!
@+
lSteph
J'ai resolu mon probleme
j'ai rajouté
Private Sub Worksheet_Activate()
valeur = Range("a1")
End Sub
et tout fonctionne
Merci
Bon WE
Patrice C.
"Patcas" <nospam_artenio49_nospam@hotmail.com> a écrit dans le message de
news: wxwIh.67$gz4.19@nntpserver.swip.net...
Merci pour ta reponse mais
dans ta macro
voici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
ça ne fonctionne pas avec <>1
par contre, si je remplace par =1
ça fonctionne a chaque changement de valeur dans la cellule
donc ça ne me va pas non plus
As tu une explication car je ne suis pas un "fort en macro"
Merci d'avance
Patrice C.
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23xvP%23CwYHHA.1240@TK2MSFTNGP04.phx.gbl...
Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lSteph
Bonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.
Ce que j'avais proposé fonctionne parfaitement avec ce que j'avais compris
de ta demande
tu voulais que si la valeur de A1 soit 1 la macro s'execute
sachant que a1 était l'objet d'un calcul.
ce que tu évoques n'a rien à voir , j'en déduis que j'avais mal compris!
même si sincèrement je ne comprends ni pourquoi ni comment,
si tout compte fait tu as résolu ton pb c'est l'essentiel!
@+
lStephJ'ai resolu mon probleme
j'ai rajouté
Private Sub Worksheet_Activate()
valeur = Range("a1")
End Sub
et tout fonctionne
Merci
Bon WE
Patrice C.
"Patcas" a écrit dans le message de
news: wxwIh.67$Merci pour ta reponse mais
dans ta macrovoici un exemple à mettre dans le code de la feuille
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
ça ne fonctionne pas avec <>1
par contre, si je remplace par =1
ça fonctionne a chaque changement de valeur dans la cellule
donc ça ne me va pas non plus
As tu une explication car je ne suis pas un "fort en macro"
Merci d'avance
Patrice C.
"LSteph" a écrit dans le message de news:
%23xvP%Bonjour,
voici un exemple à mettre dans le code de la feuille
''''''
Private Sub WorkSheet_Calculate()
If [a1].Value <> 1 Then Exit Sub
On error goto fin
application.enableeventsúlse
[n20:x32].Copy Destination:=[n65536].End(xlUp)(2)
fin:
application.enableevents=true
End Sub
''''''
Et pour le reste fais comme tu le sens:
activeworkbook.save 'attention c'est parfois redoutable
'de systématiser ce genre d'instruction particulièrement
sur un tel évennement.
Surtout si ta condition est que a1 soit égal à 1
ce qui arrivera à chaque recalcul tant qu'il est égal à 1
Pour la protection mieux vaudrait la mettre une fois pour toutes
dans le ThisWorkbook avec seulement l'interface utilisateur,
les macros ayant droit d'action sans avoir à dé ou re protéger chaque
fois..
Private Sub Workbook_open()
Dim sh as worksheet
For each sh in ThisWorkbook
sh.protect password:="toto", userinterfaceonly:=true
next
end sub
'Cdlt
'lStephBonjour
Je voudrais lancer automatiquement une macro quand A1= 1
Dans cette cellule j'ai une FORMULE qui me donne 1 ou 0.
Voila ce que j'ai ecrit mais ça coince...
Sub Copietableau()
ActiveSheet.Unprotect
If Range("A1").Value = "$1" Then
ActiveSheet.Range("N20:X32").Copy _
Destination:¬tiveSheet.Range("N65000").End(xlUp).Offset(1, 0)
ActiveWorkbook.Save
Range("N65000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Protect
End If
End Sub
Merci pour votre aide.
Patrice C.