Fonction remplacer, avec conditions

Bonjour,

Désolé pour le dérangement, j'ai pris le temps de rechercher sur le forum

si la question avait déjà été posée, mais apparemment pas sous cette forme

là pour le moment :

J'ai un petit soucis, et j'aimerais optimiser le tout via du VBA afin de

dégager un gain de temps, en espérant que vous puissiez m'aider.

Alors dans une colonne, par exemple la colonne E, j'ai différent chaines de

caractères (numéros de comptes comptables)

Voila ce que cela donne en synthèse :

Cellules Données

E1 513A0250.706450.20600

E2 520A0785.706450.20600

E3 525A8574.706450.20600

E4 535A4569.706450.20600

E5 537A5469.706450.20600

E6 550A8475.706450.20600

E7 555A5874.706450.20600

E8 555A6654.706450.20600

E9 556A9177.706450.20600

E10 649A2365.706450.20600

Moi ce que j'aimerais, c'est lui dire, via une macro (VBA) :

  • Recherche dans la colonne E
  • Toute les cellules qui commencent par 513A...., me les remplacer par
99A0844

- Toute les cellules qui commencent par 520A...., me les remplacer par

99A0845

- Toute les cellules qui commencent par 525A...., me les remplacer par

99A0846

Ainsi de suite

Une sorte de remplacement conditionnel, selon le début de la chaine de

caractere.

Le petit hic, c'est que le remplacement doit s'opérer pas sur la chaîne de

caractère en intégralité mais uniquement les 7 premiers caractères, et

selon les 3 premiers chiffres de la chaine.

Exemple :

513A0250.706450.20600 deviendrait 99A0844.706450.20600

Merci de votre aide !

Cordialement

Sirouu

Bonjour

Un petit fichier, avec des données à traiter ainsi qu'une liste des mots à rechercher et leurs correspondances

Bonsoir Banzai,

Ci-joint un extrait de la base de données.

1er onglet : Extrait BDD

2eme onglet : Table des correspondances

Merci beaucoup du soutien

Je reste a disposition si besoin d'informations complémentaires

Cordialement

Bonsoir

A tester

Bonjour,

C'est exactement cela,

Juste deux petites questions : comment faire pour que lorsque j'appuie sur le bouton, l'intégralité des changements s’opèrent ; Car avec le code actuel, je dois cliquer autant de fois qu'il y a de lignes.

Il y a également un petit soucis, selon les cas :

Hypothèse 1 : J'ouvre le fichier, je lance la macro, les changements s’opèrent, aucun soucis.

Hypothèse 2 : J'ouvre le fichier, puis dans l'onglet "Extrait BDD", je décide de changer quelques numéros de programmes, puis la je lance la macro, et là le fichier plante "Excel ne répond plus", je dois fermer puis ré ouvrir.

Comment puis-je procéder ?

Merci beaucoup

Bonjour

Sirouu a écrit :

Car avec le code actuel, je dois cliquer autant de fois qu'il y a de lignes.

Bizarre autant qu'étrange

Il doit faire tous les changements d'un seul coup

Pour l'hypothèse 2 : Détailles bien les opérations que je puisse le refaire et arriver au plantage

Édit : Fichier corrigé à vérifier

Banzai,

Apres tests sur le fichier corriger, je peux donc modifier les numéros de programme a ma guise, Excel ne plante pas, et lorsque je lance la macro, toutes les modifications se font en un coup, tout est nickel merci.

Le seul petit hic, c'est que un numéro est de trop après modifications

Voici un exemple :

Programme de base : 520A8888.706450.20600

Extrait de l'onglet "Modifications' : Remplacer les programmes qui commence par 520A(XXXX) par 99A0847

Résultat obtenu : 99A08478.706450.20600

Résultat attendu : 99A0847.706450.20600

Le chiffre en trop apparaît quelques soit le programme de base.

Merci infiniment pour ton aide.

Bonjour

Tests trop rapides

Ligne à modifiée

Cel.Offset(0, -3) = .Range("E" & Ligne) & Mid(Cel, Len(.Range("C" & Ligne)) + 5)

Corrigé dans cette version

Bonjour Banzai,

Désolé de te déranger encore une fois avec ce fameux fichier, mais j'ai un petit pépin ...

La macro préparée fonctionne du tonnerre (encore merciii ), mais le seul hic, c'est que le fichier envoyé était une matrice standard.

Maintenant que j'ai besoin d'utiliser la macro, j'ai donc ajouter des colonnes, revue la mise en forme, etc ...

Tu trouveras le fichier ci-joint, tel qu'envoyé précédemment. j'ai donc procéder a la création de deux nouveaux onglets afin que tu puisses voir les changements. Ces onglets se nomment "onglet final" et "onglet final formules"

Dans l'onglet final, j'ai repris le modèle précédent, et j'ai ajuster avec la mise en forme que je souhaitait, j'ai rajouté des colonnes, rajouté des informations, insérer des lignes, tout en prenant le soin de laisser la colonne F vierge, car la macro s'en sert. pour conclure, dans cette onglet, la macro fonctionne toujours tout va bien !

Par contre dans l'onglet final formules, la colonne C, colonne dans laquelle la macro a pour but de modifier les données. cette fois si les données ne sont plus manuscrites, mais issue d'une formule, pour un résultat identique, et la par contre la macro ne fonctionne plus ... sans doute parce que c'est des formules je pense, pourrais tu me filer un coup de pouce ?

La seule différence entre l'onglet final et l'onglet final formules, est que dans la colonne C, le résultat est obtenu par une formule au lieu d’être entré de manière manuelle, et cela n'a pas l'air de plaire a la macro ... Merci mille fois pour ton aide !

Est il possible qu'au lieu que la macro utilise la colonne F, elle prenne la colonne Z par exemple ? Ce qui me permettrait de pouvoir utiliser la colonne F pour entrer des données, et la colonne Z, je m'en servirais jamais, donc la macro peut-elle la prendre ?

Encore merci cher monsieur pour l'aide apportée.

Bien Cordialement

Bonjour

2 mois déjà pour moi c'est une éternité

Sinon pour la colonne F c'est déplacé en colonne Z

Dans le code des explications qui te permettront (je l'espère) de déplacer encore cette colonne si besoin

Il y aurait une solution c'est d'insérer une colonne avant ton tableau et plus de souci mais suis parti d'un autre côté

Si la colonne C contient les formules, il faut modifier l'origine des formules, dans ce cas la colonne A

A vérifier dans le fichier

Modifier l'origine des formule, quel idée !

Avec mon petit cerveau, j'ai eu du mal !

Oui c'est vrai pour déplacer la colonne F à Z, j'ai essayé, en me servant des commentaires indiqués dans la macro, très bien expliqué d'ailleurs ! mais bizarrement sa n'a pas marché ...

En tout cas merci beaucoup, vraiment sympa de ta part.

Bonne fin d’après midi !

Rechercher des sujets similaires à "fonction remplacer conditions"