[VBA] Suppression une partie du texte

Résolu/Fermé
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
- 27 juin 2011 à 13:26
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
- 27 juin 2011 à 15:58
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

digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
27 juin 2011 à 14:39
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
trankill076
Messages postés
74
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
2 juin 2014
21
Modifié par trankill076 le 27/06/2011 à 14:22
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?
0
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
272
27 juin 2011 à 14:47
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)
0
trankill076
Messages postés
74
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
2 juin 2014
21
27 juin 2011 à 14:49
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 ;)
0
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
27 juin 2011 à 14:52
Oui car en fait le sujet que j'avais avant servais a récupérer plusieurs infos et la il y a une info qui a besoin de suppression de caractère..

Je vien de mettre ceci :

Dim derniereLigne4 As Integer
Dim monTexte4 As String

monTexte4 = Mid(Feuil1.Cells(11, B), 4, 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

mais j'ai une erreure : Erreure définie par l'application ou par l'objet.
0
trankill076
Messages postés
74
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
2 juin 2014
21
27 juin 2011 à 14:59
Normalement quand le message d'erreur apparait il y à un bouton débogage
Tu peux appuyer dessus et me dire si une des lignes est surlignée en jaune?
0
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
27 juin 2011 à 14:59
Oui c'est celle ci : monTexte4 = Mid(Feuil1.Cells(11, B), 4, 10)
0
trankill076
Messages postés
74
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
2 juin 2014
21
Modifié par trankill076 le 27/06/2011 à 15:04
Oui en effet, il faut indiquer le n° de la colonne et pas sa lettre

remplace le B par 2

Par ailleurs j'ai toujours du mal à saisir ce que tu cherche à faire
0
digsaw_-
Messages postés
489
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
24 septembre 2013
57
27 juin 2011 à 15:09
Ha d'accord !

Et ben je t'explique comme je peux ^^ :

J'ai un premiere fichier ou il y a un certain nombre de ligne (inconnu a chaque fois)
je parcour les lignes pour connaitre le nombre qu'il y a exactement.. mais cela dépend des fichiers.. et dans la deuxieme feuille du fichier excel je dois récupérer la valeur de la cellule B11 ( de la premiere feuille) et l'écrir autant de fois qu'il existe de ligne.... Mais comme cette cellule est sous cette forme : xxxxxxxxx xx xxxxxxxxx xx 0123456789 xx.xx.xxxx
je ne dois récupérer que le 0123456789
0