OVH Cloud OVH Cloud

une condition pour exécuter une macro

6 réponses
Avatar
Daniel
Je voudrait exécuter une macro a la condition qu'il y est un des mois dans
la cellule ou est mon curseur.
nom de la macro
COPIE_ok
et envoyer un message SI faut : ce placer sur le mois qu'on veut copier

Fév. Mars Avril Mai Juin Juillet Août Sept. Oct. Nov. Déc.

6 réponses

Avatar
Daniel
cete macro ne fonctionne pas bien quand la condition est fausse
elle mavise de changer de collone mais ne s'arrete pas

If _
ActiveCell.Value = "Jan." Or _
ActiveCell.Value = "Fév." Or _
ActiveCell.Value = "Mars" Or _
ActiveCell.Value = "Avril" Or _
ActiveCell.Value = "Mai" Or _
ActiveCell.Value = "Juin" Or _
ActiveCell.Value = "Juillet" Or _
ActiveCell.Value = "Août" Or _
ActiveCell.Value = "Sept." Or _
ActiveCell.Value = "Oct." Or _
ActiveCell.Value = "nov." Or _
ActiveCell.Value = "déc." Then
Else
MsgBox "changez de colonne"
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(0, -1).Select
Range(ActiveCell, ActiveCell.Offset(14, 0)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
ActiveSheet.Paste
ActiveCell(14, 0).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "D.P."
ActiveCell.Offset(-3, 0).Select

End Sub
"Philippe.R" a écrit dans le message de
news:
Bonjour Daniel,
(Expression optionnelle mais appréciée)
Faute de précision complémentaire, ceci devrait le faire une fois adapté :

Sub control_contenu()
'MPFE 14/09/2003
If _
ActiveCell.Value = "jan" Or _
ActiveCell.Value = "fev" Or _
ActiveCell.Value = "mar" Or _
ActiveCell.Value = "avr" Or _
ActiveCell.Value = "mai" Or _
ActiveCell.Value = "jun" Or _
ActiveCell.Value = "jui" Or _
ActiveCell.Value = "aou" Or _
ActiveCell.Value = "sep" Or _
ActiveCell.Value = "oct" Or _
ActiveCell.Value = "nov" Or _
ActiveCell.Value = "dec" Then
MsgBox "c'est bon"
Else
MsgBox "changez de colonne"
End If

End Sub

Si les mois étaient dans ta feuille du type date (avec un affichage au
format mmm par exemple) ce serait

plus facile à gérer
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Daniel" a écrit dans le message de
news:QyS8b.113182$
Je voudrait exécuter une macro a la condition qu'il y est un des mois
dans


la cellule ou est mon curseur.
nom de la macro
COPIE_ok
et envoyer un message SI faut : ce placer sur le mois qu'on veut
copier



Fév. Mars Avril Mai Juin Juillet Août Sept. Oct. Nov. Déc.








Avatar
isabelle
bonjour Daniel,

pour qu'elle s'arrête il faut modifier

Else
MsgBox "changez de colonne"
End If

par :

Else
MsgBox "changez de colonne"
Exit sub
End If

isabelle



cete macro ne fonctionne pas bien quand la condition est fausse
elle mavise de changer de collone mais ne s'arrete pas

If _
ActiveCell.Value = "Jan." Or _
ActiveCell.Value = "Fév." Or _
ActiveCell.Value = "Mars" Or _
ActiveCell.Value = "Avril" Or _
ActiveCell.Value = "Mai" Or _
ActiveCell.Value = "Juin" Or _
ActiveCell.Value = "Juillet" Or _
ActiveCell.Value = "Août" Or _
ActiveCell.Value = "Sept." Or _
ActiveCell.Value = "Oct." Or _
ActiveCell.Value = "nov." Or _
ActiveCell.Value = "déc." Then
Else
MsgBox "changez de colonne"
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(0, -1).Select
Range(ActiveCell, ActiveCell.Offset(14, 0)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
ActiveSheet.Paste
ActiveCell(14, 0).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "D.P."
ActiveCell.Offset(-3, 0).Select

End Sub
"Philippe.R" a écrit dans le message de
news:
Bonjour Daniel,
(Expression optionnelle mais appréciée)
Faute de précision complémentaire, ceci devrait le faire une fois adapté :

Sub control_contenu()
'MPFE 14/09/2003
If _
ActiveCell.Value = "jan" Or _
ActiveCell.Value = "fev" Or _
ActiveCell.Value = "mar" Or _
ActiveCell.Value = "avr" Or _
ActiveCell.Value = "mai" Or _
ActiveCell.Value = "jun" Or _
ActiveCell.Value = "jui" Or _
ActiveCell.Value = "aou" Or _
ActiveCell.Value = "sep" Or _
ActiveCell.Value = "oct" Or _
ActiveCell.Value = "nov" Or _
ActiveCell.Value = "dec" Then
MsgBox "c'est bon"
Else
MsgBox "changez de colonne"
End If

End Sub

Si les mois étaient dans ta feuille du type date (avec un affichage au
format mmm par exemple) ce serait

plus facile à gérer
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Daniel" a écrit dans le message de
news:QyS8b.113182$
Je voudrait exécuter une macro a la condition qu'il y est un des mois
dans


la cellule ou est mon curseur.
nom de la macro
COPIE_ok
et envoyer un message SI faut : ce placer sur le mois qu'on veut
copier



Fév. Mars Avril Mai Juin Juillet Août Sept. Oct. Nov. Déc.










Avatar
Philippe.R
Ajoute un Exit sub avant le End if


"Daniel" a écrit dans le message de
news:CIY8b.10134$
cete macro ne fonctionne pas bien quand la condition est fausse
elle mavise de changer de collone mais ne s'arrete pas

If _
ActiveCell.Value = "Jan." Or _
ActiveCell.Value = "Fév." Or _
ActiveCell.Value = "Mars" Or _
ActiveCell.Value = "Avril" Or _
ActiveCell.Value = "Mai" Or _
ActiveCell.Value = "Juin" Or _
ActiveCell.Value = "Juillet" Or _
ActiveCell.Value = "Août" Or _
ActiveCell.Value = "Sept." Or _
ActiveCell.Value = "Oct." Or _
ActiveCell.Value = "nov." Or _
ActiveCell.Value = "déc." Then
Else
MsgBox "changez de colonne"
exit sub

End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(0, -1).Select
Range(ActiveCell, ActiveCell.Offset(14, 0)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
ActiveSheet.Paste
ActiveCell(14, 0).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "D.P."
ActiveCell.Offset(-3, 0).Select

End Sub
"Philippe.R" a écrit dans le message de
news:
Bonjour Daniel,
(Expression optionnelle mais appréciée)
Faute de précision complémentaire, ceci devrait le faire une fois adapté :

Sub control_contenu()
'MPFE 14/09/2003
If _
ActiveCell.Value = "jan" Or _
ActiveCell.Value = "fev" Or _
ActiveCell.Value = "mar" Or _
ActiveCell.Value = "avr" Or _
ActiveCell.Value = "mai" Or _
ActiveCell.Value = "jun" Or _
ActiveCell.Value = "jui" Or _
ActiveCell.Value = "aou" Or _
ActiveCell.Value = "sep" Or _
ActiveCell.Value = "oct" Or _
ActiveCell.Value = "nov" Or _
ActiveCell.Value = "dec" Then
MsgBox "c'est bon"
Else
MsgBox "changez de colonne"
End If

End Sub

Si les mois étaient dans ta feuille du type date (avec un affichage au
format mmm par exemple) ce serait

plus facile à gérer
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Daniel" a écrit dans le message de
news:QyS8b.113182$
Je voudrait exécuter une macro a la condition qu'il y est un des mois
dans


la cellule ou est mon curseur.
nom de la macro
COPIE_ok
et envoyer un message SI faut : ce placer sur le mois qu'on veut
copier



Fév. Mars Avril Mai Juin Juillet Août Sept. Oct. Nov. Déc.












Avatar
Philippe.R
Désolé, Isabelle, pour le doublon, pas vu ta réponse avant de donner la mienne.
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"isabelle" a écrit dans le message de
news:
bonjour Daniel,

pour qu'elle s'arrête il faut modifier

Else
MsgBox "changez de colonne"
End If

par :

Else
MsgBox "changez de colonne"
Exit sub
End If

isabelle



cete macro ne fonctionne pas bien quand la condition est fausse
elle mavise de changer de collone mais ne s'arrete pas

If _
ActiveCell.Value = "Jan." Or _
ActiveCell.Value = "Fév." Or _
ActiveCell.Value = "Mars" Or _
ActiveCell.Value = "Avril" Or _
ActiveCell.Value = "Mai" Or _
ActiveCell.Value = "Juin" Or _
ActiveCell.Value = "Juillet" Or _
ActiveCell.Value = "Août" Or _
ActiveCell.Value = "Sept." Or _
ActiveCell.Value = "Oct." Or _
ActiveCell.Value = "nov." Or _
ActiveCell.Value = "déc." Then
Else
MsgBox "changez de colonne"
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(0, -1).Select
Range(ActiveCell, ActiveCell.Offset(14, 0)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
ActiveSheet.Paste
ActiveCell(14, 0).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "D.P."
ActiveCell.Offset(-3, 0).Select

End Sub
"Philippe.R" a écrit dans le message de
news:
Bonjour Daniel,
(Expression optionnelle mais appréciée)
Faute de précision complémentaire, ceci devrait le faire une fois adapté :

Sub control_contenu()
'MPFE 14/09/2003
If _
ActiveCell.Value = "jan" Or _
ActiveCell.Value = "fev" Or _
ActiveCell.Value = "mar" Or _
ActiveCell.Value = "avr" Or _
ActiveCell.Value = "mai" Or _
ActiveCell.Value = "jun" Or _
ActiveCell.Value = "jui" Or _
ActiveCell.Value = "aou" Or _
ActiveCell.Value = "sep" Or _
ActiveCell.Value = "oct" Or _
ActiveCell.Value = "nov" Or _
ActiveCell.Value = "dec" Then
MsgBox "c'est bon"
Else
MsgBox "changez de colonne"
End If

End Sub

Si les mois étaient dans ta feuille du type date (avec un affichage au
format mmm par exemple) ce serait

plus facile à gérer
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Daniel" a écrit dans le message de
news:QyS8b.113182$
Je voudrait exécuter une macro a la condition qu'il y est un des mois
dans


la cellule ou est mon curseur.
nom de la macro
COPIE_ok
et envoyer un message SI faut : ce placer sur le mois qu'on veut
copier



Fév. Mars Avril Mai Juin Juillet Août Sept. Oct. Nov. Déc.












Avatar
sabatier
ouais, ouais, on dit ça, on dit ça...
jps (prêt à tout pour protéger son ange)

Philippe.R a écrit:
Désolé, Isabelle, pour le doublon, pas vu ta réponse avant de donner la mienne.


Avatar
Daniel
gros Merci tous VA
"Philippe.R" a écrit dans le message de
news:
Ajoute un Exit sub avant le End if


"Daniel" a écrit dans le message de
news:CIY8b.10134$
cete macro ne fonctionne pas bien quand la condition est fausse
elle mavise de changer de collone mais ne s'arrete pas

If _
ActiveCell.Value = "Jan." Or _
ActiveCell.Value = "Fév." Or _
ActiveCell.Value = "Mars" Or _
ActiveCell.Value = "Avril" Or _
ActiveCell.Value = "Mai" Or _
ActiveCell.Value = "Juin" Or _
ActiveCell.Value = "Juillet" Or _
ActiveCell.Value = "Août" Or _
ActiveCell.Value = "Sept." Or _
ActiveCell.Value = "Oct." Or _
ActiveCell.Value = "nov." Or _
ActiveCell.Value = "déc." Then
Else
MsgBox "changez de colonne"
exit sub

End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(0, -1).Select
Range(ActiveCell, ActiveCell.Offset(14, 0)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
ActiveSheet.Paste
ActiveCell(14, 0).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "D.P."
ActiveCell.Offset(-3, 0).Select

End Sub
"Philippe.R" a écrit dans le message de
news:
Bonjour Daniel,
(Expression optionnelle mais appréciée)
Faute de précision complémentaire, ceci devrait le faire une fois
adapté :




Sub control_contenu()
'MPFE 14/09/2003
If _
ActiveCell.Value = "jan" Or _
ActiveCell.Value = "fev" Or _
ActiveCell.Value = "mar" Or _
ActiveCell.Value = "avr" Or _
ActiveCell.Value = "mai" Or _
ActiveCell.Value = "jun" Or _
ActiveCell.Value = "jui" Or _
ActiveCell.Value = "aou" Or _
ActiveCell.Value = "sep" Or _
ActiveCell.Value = "oct" Or _
ActiveCell.Value = "nov" Or _
ActiveCell.Value = "dec" Then
MsgBox "c'est bon"
Else
MsgBox "changez de colonne"
End If

End Sub

Si les mois étaient dans ta feuille du type date (avec un affichage au
format mmm par exemple) ce serait

plus facile à gérer
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Daniel" a écrit dans le message de
news:QyS8b.113182$
Je voudrait exécuter une macro a la condition qu'il y est un des
mois




dans
la cellule ou est mon curseur.
nom de la macro
COPIE_ok
et envoyer un message SI faut : ce placer sur le mois qu'on veut
copier



Fév. Mars Avril Mai Juin Juillet Août Sept. Oct. Nov. Déc.