[Déplacé .Net --> VBA] vba split méthode

Résolu
guillaumenicolas Messages postés 12 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 27 mai 2010 - 4 mai 2010 à 16:52
guillaumenicolas Messages postés 12 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 27 mai 2010 - 5 mai 2010 à 15:43
Bonjour à tous,

Je suis sur la réalisatin d'une application EXCEL et je bloque sur un split.
explication :
j'ai une feuille(feuil4 par exemple) dans laquelle sont stockées des dates dans une colonne.
dans une autre feuille(feuil3 par exemple) j'ai un bouton qui doit récupérer seulment les dates correspondant a une année qui aurra été saisie au préalable dans une textbox et ajouter ces dates dans une listbox ou un combobox.

pour le moment j'essaye déja de récupérer une date et séparer l'année du reste en utilisant :

split(sheets(feuil4).cells(1,3).value, "/")

mai jcompren pas ce que cette fonction retourne

7 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
5 mai 2010 à 15:20
Vérifie le format de ta cellule.
Si elle est au format Date, ça doit fonctionner.
Si le format est un format Texte, et que tu ne peux pas le remplacer, convertit le texte en date

str = datepart("yyyy", CDate(sheets(cpt).cells(1,4).value)) 


Molenn
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
4 mai 2010 à 16:56
Salut,

Si c'est pour récupérer l'année d'une date, utilise plutôt la fonction Format :
MsgBox Format("04/05/2010", "yyyy")

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
5 mai 2010 à 09:58
Tu peux utiliser aussi la fonction datepart.
La différence est que datepart remonte un Integer alors que Format remonte un string.

Rien d'insurmontable dans un sens ou l'autre, mais bon ... C'était juste pour signaler l'existence de la fonction

Molenn
guillaumenicolas Messages postés 12 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 27 mai 2010
5 mai 2010 à 14:14
merci seulement ces fonctions marchent très bien qd on saisie les caractères dans le code vb mais qd je dois récupérer l'année a partir d'une date qui a au préalable été rentré dans une cellule ça ne marche plus!

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
guillaumenicolas Messages postés 12 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 27 mai 2010
5 mai 2010 à 14:31
je vous montre le bou de code concerné

'je cherche la page dans laquelle je veu récupérer ma date le numéro de la page est enregistré dans la variable cpt'

dim str as integer
str = datepart("yyyy", sheets(cpt).cells(1,4).value)

msgbox str
'fin'

seulement ce code m'écrit effectivement une date qui n'est nulle part!
guillaumenicolas Messages postés 12 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 27 mai 2010
5 mai 2010 à 15:10
re,

excusez moi pour tout le dérangement.
je viens de me rendre compte que si vos fonction ne marche pas c'est parcque ce qui est entré dans la cellule ne peut être interprété comme une date, donc j'ai essayé de casté, ça ne marche pas, je vais voir ce que je peux faire pour forcé le truc parcque ce qui est entré c'est une date sous la forme la plus normale jj/mm/aaaa

si au vu de ces information quelqu'un a déjà eut ce genre de problème merci d'apporter de l'aide en attendant je continue mes recherches

merci encore pour votre aide
guillaumenicolas Messages postés 12 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 27 mai 2010
5 mai 2010 à 15:43
merci,

ça marche nikel!
Rejoignez-nous