[VBA] Suppression une partie du texte [Résolu/Fermé]

Signaler
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
-
Bonjour,

Je récupère dans un fichier excel feuille2 une cellule de la feuille1 ou il y a du text et de snombres. Seules les nombres m'interessent.

Exemple : Mon text 123456 12.12.2011

et j'aimerais récupérer le 123456

Merci de votre aide


4 réponses

Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
48
D'après mes informations oui le texte sera toujours le même et est de 22 caractères avec 3 espaces du coté gauche ensuite il y a les nombre (10) et il y a un espace puis format date xx.xx.xxxx
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
74
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
2 juin 2014
20
Le texte de tes cellules as-t-il toujours la même forme où y as-t-il des irrégularités?
Ce qui m'intéresse est de savoir si les nombres que tu souhaite récupérer sont toujours au début du texte et si la longueur est la même ou pas
Une signature? Pour quoi faire?
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
259
dans une cellule à coté une formule à recopier vers le vas...

par exemple ta valeur est en b7 : 123456 12.12.2011
tu écris en c7
en supposant bien sur que l'espace est le séparateur.

=STXT(B7;1;TROUVE(" ";B7)-1)
Messages postés
74
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
2 juin 2014
20
Il faut utiliser la fonction Mid alors

Mid (Feuil1.Cells(x, y), 4, 10)

Avec x et y n° de ligne et de colonne de la cellule à extraire
Le 4 est la position de départ de l'extraction (donc 4 juste après les 3 espaces) et 10 la longueur de l'extraction

Est-ce qu'il y à un lien avec ton autre sujet? On peux combiner les deux ;)
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
48
J'avais fait ceci du coup :
Dim derniereLigne4 As Integer
Dim monTexte4 As String
Dim TextModif As String

monTexte4 = Mid(Feuil1.Cells(11, 2), 27, 10)


derniereLigne4 = Sheets(1).Range("a27").End(xlDown).Row - 27

For i = 1 To derniereLigne4
Sheets(2).Range("D1").Offset(i, 0).Value = monTexte4
Next
Messages postés
74
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
2 juin 2014
20
Sheets(2).Range("D1").Offset(i, 0).Value = monTexte4 

Celle là je ne la comprend pas, Offset sert normalement à décaler une plage de cellules...
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
48
Je ne pourrais pas te l'expliquer car j'avais demander de l'aide pour faire unparcour d'une colonne et écrire le nombre de lignes en conséquences ( exemple: feuille1 colonne A = 50 lignes alors dans la feuille2 colonne A il y aura 50 avec un texte précis ) et on m'avait donner ceci :
Dim derniereLigne As Integer
Dim monTexte As String

monTexte = "C00001"

derniereLigne = Sheets(1).Range("a27").End(xlDown).Row - 27
For i = 1 To derniereLigne
Sheets(2).Range("A1").Offset(i, 0).Value = monTexte
Next
Messages postés
74
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
2 juin 2014
20
A y est je vient de comprendre :D
Ton code
Dim derniereLigne4 As Integer
Dim monTexte4 As String
Dim TextModif As String

monTexte4 = Mid(Feuil1.Cells(11, 2), 27, 10)


derniereLigne4 = Sheets(1).Range("a27").End(xlDown).Row - 27

For i = 1 To derniereLigne4
Sheets(2).Range("D1").Offset(i, 0).Value = monTexte4
Next

Devrait fonctionner

Essaie et dis moi quel résultat tu obtient
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
48
Oui cela marche parfaitement ! :D !!! c'est pile ce qu'il me fallait ! merci a tous pour votre aide !!!! Je laisse le poste en non résolu pour ce soir le temps que je regarde si j'ai oublier des choses cela évitera d'ouvrir un autre post pour rien et sinon demain je le clos !

merci encore !