Excel: recherche et remplace

Résolu/Fermé
El-sol - 11 août 2011 à 15:22
 El-sol - 11 août 2011 à 17:22
Bonjour,

Voici mon problème:
J'ai une liste de chiffres (numéros de clients) dont je dois les modifier pour rajouter un caractère devant chacun car je dois importer les données de mon fichier dans un programme et il ne reconnaît pas les numéros de clients.
Exemple: ma liste comprend des numéros comme ceux-ci
217
3450
3451
3475
4280
4550
55180

comment puis-je les modifier d'un coup en disant: recherche tout mais au lieu de faire remplacer par, ce serait: rajoute un ' devant chaque chiffre. Et on doit faire ça à chaque mois. C'est long de le faire manuellement. Il doit sûrement y avoir une façon plus rapide.

merci.


A voir également:

10 réponses

cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
11 août 2011 à 16:03
Bonjour,

Une solution par macro serait envisageable, mais une par formule également...

dans la colonne juste à côté de la colonne des données (au besoin, tu insères une nouvelle colonne), tu entres cette formule (on considère que la colonne de donnée est la colonne A) :

=CAR(39)&A1


Dans la cellule B1, tu obtiens :

'217


Bon courage

PS, si tu le veux par macro, tu demandes...
0
Hmmm,
Je ne sais pas si ça va marcher. J'ai essayé ta formule et effectivement, dans une nouvelle colonne, on voit '217 mais quand je ferai l'export, je ne sais pas si le système verra ce que je VOIS, et non ce qui est vraiment écrit dans la cellule, soit =CAR(39)&A1.
Car ce que je voulais c'est que ça soit vraiment écrit '217 comme quand on le tape à la main. Et quand on le tape à la main, on ne voit plus l'appostrophe. Tandis que là, on la voit encore.
C'est pas moi qui s'occupe de l'export, j'ai fais cette demande pour une collègue de travail.
Je vais lui faire part de cette formule et elle va essayer.
je reviens plus tard avec le résultat.
merci.
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
11 août 2011 à 16:14
bonjour,

ce serait pas plus simple de changer le format de la cellule en format texte ?

Cordialement.
0
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
11 août 2011 à 16:15
Re-

Euh, j'ai oublié de préciser....

Une fois que tu as fait cette manip, tu sélectionnes toute les cellules contentant la formule, tu copies, et sans changer de sélection, tu fais "Collage Spécial", et tu choisis "Valeurs"...

Donc, plus de formules, et un bel apostrophe devant tes nombres.

Bon courage
0

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

Posez votre question
chossette9: le fait de le changer en format texte ne rajoute pas l'apostrophe automatiquement.

cousinhub29: j'avais déjà pensé à copier collage spécial, valeurs. Oui, l'apostrophe est là mais est aussi visible. Pourquoi ?

J'ai presque trouvé une autre idée. Je vous en fais part et dites-moi comment l'améliorer.

J'ai pensé à une macro:

Et je la démarre ainsi:

F2 (sur ma cellule) HOME ' ENTER
donc, je modifie ma première cellule en y entrant manuellement l'apostrophe au début du numéro. Je fais enter, et je procède ainsi sur quelques lignes. Ensuite, je modifie ma macro pour rallonger ma formule pour l'étendre à une centaine de ligne.

Le hic, c'est que dans la macro, elle garde en note le numéro du client:

ActiveCell.FormulaR1C1 = "'3449"
Range("A2").Select
ActiveCell.FormulaR1C1 = "'3450"
Range("A3").Select
ActiveCell.FormulaR1C1 = "'3451"
Range("A4").Select
ActiveCell.FormulaR1C1 = "'3452"
Range("A5").Select

Il ne faudrait pas qu'elle le garde en mémoire. comment puis-je remplacer le 3449 par une variable ?
0
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
11 août 2011 à 16:39
Re-,

si tu veux passer par une macro, tu peux essayer ainsi :

Sub apostroph()
Dim Cel As Range
For Each Cel In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    Cel = "'" & Cel
Next Cel


On ne voit plus l'apostrophe dans la cellule, mais on la voit dans la barre de formule...

A adapter selon la colonne...

Bon courage
0
comment puis-je copier ton texte dans une macro ?
0
J'ai essayé de copier dans ma macro mais ça me donne ce message:
"erreur de compilation"
0
cousinhub29 Messages postés 881 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 avril 2024 333
11 août 2011 à 16:50
Re-,

Tu tapes sur Alt + F11, tu arrives dans l'éditeur de macro (VBE pour Visual Basic Editor)

Tu fais "Insertion/Module", et tu colles le code proposé ci dessous

PS, j'ai oublié le End Sub en fin de code

donc tu colles ceci dans le nouveau module :

Sub apostroph()
Dim Cel As Range
For Each Cel In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    Cel = "'" & Cel
Next Cel
End Sub


N'oublies pas d'adapter à la colonne qui va bien (dans mon code, on part de la cellule A1 à la dernière cellule remplie de la colonne A)

Pour l'appeler, tu fais Alt + F8, et tu choisis la procédure "apostroph"

Bon courage
0
cool, ça marche à merveille.

un gros merci.

c'est super d'avoir des experts en ligne en tout temps.
Depuis des années que je viens sur ce site et je trouve toujours mes réponses.

merci
0