Fonction numero du mois

Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011
- - Dernière réponse : rv83toulon
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013
- 8 févr. 2011 à 14:02
Bonjour à tous,

je souhaite récupérer dans une variable le numero du mois d'une cellule date ("G9") dans mon cas.
j'ai essayé ça, mais bien sur, ça passe pas !!
mavariable = Range("G9").Month(dates) + 1

QQ à une idée ?

merci à la communauté...
Afficher la suite 

12 réponses

Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
0
Merci
Bonjour ,

Dim mavariable As Integer
mavariable = Month(Range("G9").Text)


Dédénet2
Commenter la réponse de dedenet2
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58
0
Merci
month(...)

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
0
Merci
Salut

Qu'y a t-il dans G9 ?
Un format date valide ?
Alors, faut mettre tout dans l'ordre :
mavariable = Month(Range("G9").Value) + 1

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
0
Merci
Rafale de réponses !!
Commenter la réponse de cs_Jack
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011
0
Merci
Bien sur....
J'avais pas tilté que (date) fallait que je le remplace par la valeur que je souhaitais.
Humilité, humilité....

merci à tous, j'va corriger mon code !

merci à tous
Commenter la réponse de cs_zeps2
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011
0
Merci
Bon finalement j'ai un autre souci.
La valeur récupérée est le N° de colonne et j'ai une valeur amont qui me donne le n° de la ligne.
Mon code passe bien sauf au moment ou je remplace
Range("K" & j).Value
par
Range(c & j).Value ==> Range("10" & "3").value

Ma valeur c et j sont bien reconnu (10 & 3) donc l'adresse cellule J3 mais le code ne passe pas.
Je bloque et ne comprends pourquoi le fait de remplacer "K" par c empêche l'exécution du code

1 idée ????
Commenter la réponse de cs_zeps2
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
0
Merci
Re
Parce que l'adressage dans un range ne marche pas comme ça.
Range reconnait différent formats, mais pas "103". "10:3" éventuellement, et encore.
Soit tu convertis "10" en J (avec Chr et un décalage de 64, 65 désignant le code ascii du A maj), soit tu choisis une instruction plus adéquat comme Cells où tu peux désigner la cellule par ces chiffres de colonne et de ligne.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58
0
Merci
ne pas passer par une String, utiliser les chiffres tels quels :

Cells(10,3)

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011
0
Merci
Merci Jack pour l'explication.
Merci Renfield, je ne peux pas passer directement par les n° de ligne et colonne car se sont des variables.

Par contre jack, en mettant cells le code passe mais l'adresse n'est pas reconnu, car aucun remplissage ds les cellules correspondantes.
> cells(c, j)
Et je ne suis pas assez bon en VBA pour assimiler directement ton explication..."avec Chr et un décalage de 64, 65 désignant le code ascii du A maj)" je manie pas ...

Un p'tit exemple ?

Zeps ;-))
Commenter la réponse de cs_zeps2
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
0
Merci
Tu as les mots clé : Chr --> Regarde dans l'aide comment ça marche et fais des essais comme, par exemple :
Dans la fenêtre de debug (Ctrl-G), tape la commande :
? Chr(64 + 10)
et la fonction renvoie la chaine "J"
Donc, si tu dois utiliser définir des adressages comme J402, il te suffit de générer le J avec la fonction Chr et d'y concaténer le numéro de ligne.
Commenter la réponse de cs_Jack
Messages postés
61
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
28 octobre 2011
0
Merci
merci Jack, je m'y attelle....

zeps2
Commenter la réponse de cs_zeps2
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013
0
Merci
Bonjour,
excusez moi d'arriver comme ça mais il me semble que cells (c, j) ou c 10 et j3 est égale à la cellule "C10".
Or il me semble qu'il cherche la cellule "J3", non?
donc se serait plutôt: cells (j,c)

pour rappel cells se définit comme ceci :
cells (ligne,colonne).
Cordialement.
@+
Commenter la réponse de rv83toulon