Petit probléme en VBA

Résolu/Fermé
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 - 8 janv. 2013 à 16:18
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 - 9 janv. 2013 à 08:26
Bonjour,

j'ai un probléme sur le bout de macro suivant :

If mois = février Then
Set envoi = range("F3:F34")
For Each Cell In envoi
Cell = Date
Next Cell
end if

le but est d'écrire la date d'execution de la macro dans envoi, c'est à dire dans les cellule F3 à F34.

la macro fonctionne sans message d'erreur, mais probléme, rien ne s'écrit dans les cellules.

Merci d'avance

3 réponses

Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
Modifié par Morgothal le 8/01/2013 à 16:20
Bonjour,
A mon avis, il ne passe pas dans le If, parce que février est une chaîne de caractères.
Il faut écrire :
If mois = "février" Then
A+!

-------------------
Cordialement,
Clément
0
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 1
8 janv. 2013 à 16:22
Bonjour,

en effet, mois est en string. J'ai tester les guillemets. Le probléme reste entier!

dois-je poster tout mon code? il n'est pas trés long
0
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
8 janv. 2013 à 16:24
Oui ce serait toujours un plus pour t'aider !
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 8/01/2013 à 16:27
bonjour

février est elle une variable?
sinon peut être
If mois = "février" Then

RQ1 au cas où. Déclares systématiquement tes variables et met la directive Option Explicit en début de module histoire de t'obliger à le faire
RQ2. met un point d'arret devant if (clic dans la marge) puis exécutes en mode pas à pas (F8) pour voir ce qui se passe (clic sur les variables pour voir leur valeur).

bonne suite
0
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 1
Modifié par tragg le 8/01/2013 à 16:28
Voici el code en entier, l'erreur se situe sans doute en déclaration de variable dans ce cas :

Sub dateEnvoie() 

Dim envoi As range 
Dim annee As String 
Dim mois As String 



annee = InputBox("dans quelle année voulez vous travailler (format Suivi AAAA)", "choix année") 
mois = InputBox("quelle est la campagne (février, mai, août ou novembre)", "campagne") 


Worksheets(annee).Select 


If mois = "février" Then 
    Set envoi = range("F3:F34") 
    For Each Cell In envoi 
    Cell = Date 
    Next Cell 
     
If mois = mai Then 
    Set envoi = range("H3:H34") 
    For Each Cell In envoi 
    Cell = Date 
    Next Cell 
     
If mois = août Then 
    Set envoi = range("J3:J34") 
        For Each Cell In envoi 
    Cell = Date 
    Next Cell 
  
Else: MsgBox ("la date est fausse") 

End If 
End If 
End If 



End Sub  

Si le probléme est résolue, mettez votre poste en résolue!
0
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
8 janv. 2013 à 16:26
L'erreur est peut-être sur :
mois = InputBox("quelle est la campagne (février, mai, août ou novembre)", "campagne") 

Parce que la, il faut écrire exactement "février" pour que le If fonctionne...
0
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 1
8 janv. 2013 à 16:29
j'ai pensé à l'accent. mais j'ai essayer avec mai, et le probléme est le demeure.
0
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 1
8 janv. 2013 à 16:33
en le faisant pas à pas, il rentre dans le IF, la boucle next marche, mais rien ne s'écrit....
0
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
8 janv. 2013 à 16:58
Il faut bien déclarer la variable:
Dim cell As Range
pour le For Each
0
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 1
9 janv. 2013 à 08:26
bonjour,

je viens de tester et c'est bon. merci beaucoup
0