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

Résolu
Signaler
Messages postés
12
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
27 mai 2010
-
Messages postés
12
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
27 mai 2010
-
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

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
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
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
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
Messages postés
12
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
27 mai 2010

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!
Messages postés
12
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
27 mai 2010

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!
Messages postés
12
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
27 mai 2010

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
Messages postés
12
Date d'inscription
mardi 24 novembre 2009
Statut
Membre
Dernière intervention
27 mai 2010

merci,

ça marche nikel!