Utiliser la fonction split et renvoyer 1 des valeurs dans une cellule

toto -  
 toto -
Bonjour,
Dans un tableau qui ne sera jamais le même, et que j'ouvre temporairement pour récupérer quelques données avant sa suppression, il y a toujours en cellule (A2) un texte :
"données du XX/XX/XX 456464)..... "
Soit 4 morceaux séparés par des espaces.
Je cherche désespérément à retranscrire la date (XX/XX/XX)dans une case à côté (case (J1))

Voici l'extrait de mon code que je tente de bricoler :

Dim texte_qui_contient_dates As String
Dim tab1(4) As Variant
texte_qui_contient_dates = ("A2")
tab1(4) = Split(dates, " ", 4)
Range("J1:J4").Text = tab1(4)


Mon code bloque sur la dernière ligne

Je suis un apprenti débutant, cela fait plusieurs heures que je cherche sur internet :/
quelqu'un saurait m'éclairer de ses lumières s'il-vous-plaît ? le PC est menacé de passer par la fenêtre :P

Configuration: Windows / Chrome 77.0.3865.120
A voir également:

1 réponse

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

Public Sub ok()
Dim s As String, ts, d As Date
s = [A2].Value
ts = Split(s, " ")
s = ts(0) & "/" & ts(1) & "/" & ts(2)
d = CDate(s)
[J1].Value = d
End Sub

Cdlmnt
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour a vous deux
Vu ce qui est ecrit dans A2 d'apres toto, 4 textes separes par un espace, j'y vois plutôt comme ceci
Si seulement annee deux chiffres, enlever CDate
Sub test()
    Dim tab1 As Variant
    
    With Worksheets("feuil1")
    'donn?es du XX/XX/XX 456464
        tab1 = Split(.Range("A2"), " ")
        .Range("J1").Value = CDate(tab1(2))
    End With
End Sub
0
toto > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, merci beaucoup pour votre retour.

Dans mon code entier, la feuille sur laquelle travailler est active.
je ne peut pas lui donner de nom car la feuille porte un nom différent à chaque fois, générée par un serveur.

peut être que votre solution fonctionne mais je ne sais pas comment aller cherchez l'information du numéro de la feuille :/

étant donné que la feuille à manipuler est active lorsque je veux effectuer cette manipulation, j'ai testé cotre code en enlevant la fonction with, mais le code bloque dans la fonction split au (.range) :
erreur de compilation : référence incorrecte ou non qualifiée

auriez-vous une idée ?

cordialement,
0
toto
 
Merci beaucoup pour votre retour rapide.

toutefois, le code bloque à la ligne 6 :/

erreur 13 : incomparabilité de type

faut-il déclarer d en temps qu'une variable quelconque ? ou autre chose ?

Cordialement
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Sub test()
    Dim tab1 As Variant
    
    'donn?es du XX/XX/XX 456464
        tab1 = Split(Range("A2"), " ")
        Range("J1").Value = CDate(tab1(2))
End Sub
0
toto > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
Super ça fonctionne !

merci beaucoup, bonne fin de journée
0