Excel : macro VBA

Résolu/Fermé
BiOups - 15 juin 2009 à 14:14
groota Messages postés 18 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 11 novembre 2009 - 15 juin 2009 à 15:22
Bonjour,
J'ai un tableau que je dois gérer par macro dont une colonne (la E) contient du texte parmis trois choix possible, par exemple : pomme, banane ou poire. Or dans mon fichier (que je ne crée pas moi-même), une personne s'est trompé, et a mis : banane A5. Je voudrais pouvoir corriger cette erreur (si elle est présente) (cad enlever le "A5") quelque soit la ligne où elle se trouve. Y a-t-il une commande permettant d'effectuer une action sur chaque cellule de la colonne E (sachant que le nombre de ligne peut varier) ?

Je ne sais pas si j'ai été clair dans l'explication de mon problème, mais je remercie d'avance les personnes qui prendront le temps de lire ce message.
A voir également:

9 réponses

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
15 juin 2009 à 14:24
Salut,

tout dépend de la structure de ton fichier, il ne faudrait pas que ta cellule A5 soit le résultat d'une formule, dans ce cas il faudrait remonter à l'origine.
Par contre si en A5 la saisie est manuelle, il suffit de saisir une nouvelle valeur dessus

Attention si tu supprimes une ligne, contrairement aux formules qui se mettent à jour automatiquement, le code macro restera figé sur les références initiales tel que si la plage de recherche est E2 à E100 si tu supprimes une ligne il restera sur E2 à E100 et si en E100 tu as des données qui ne doivent pas être prise en compte ou une cellule vide, tu risques avoir une erreur dans ton code

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
"Par contre si en A5 la saisie est manuelle, il suffit de saisir une nouvelle valeur dessus"

---> Je sais bien, mais je dois corriger le problème automatiquement avant de générer mon tableau croisé dynamique (toujours avec la même macro), surtout que je ne sais pas sur quelle cellule se trouve le problème. C'est pour cela que je pensais faire une boucle for mais je ne sais pas comment faire.

Je voulais faire un truc du genre :
For i:=1 to nombre_lignes_que_je_ne_connais_pas do
Range("Ei").Select
If Ei = banane A5 then Ei = banane


mais je ne sais pas quelles commandes utilisés dans mon cas ...
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
15 juin 2009 à 14:52
Re,

Le problème est le même, faut rechercher comment cette cellule est renseignée, si elle va chercher les renseignement dans une colonne, il faut modifier cette valeur dans la matrice si non tu auras toujours le même problème dès que Banane devra être affichée

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Nan elle n'a aucun lien avec les autres cellules.
Normalment il ne devrait y avoir que 3 choix (pour que je puisse par la suite faire un graphique avec ma macro) mais il se trouve qu'une personne s'est trompé, et que je dois corriger l'erreur (pour que cela se classe bien en trois catégories (et non 4, avec un seul machin dans le 4 dû à une erreur).

Suis-je plus clair dans ma question ?
0

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

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
15 juin 2009 à 15:01
Re,

Alors porquoi écrire un code juste pour une cellule qui ne contient pas de formule saisis simplement Banane

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
15 juin 2009 à 15:13
Bonjour,
On peut aussi faire...

Ctrl + H

>>>rechercher Banane A5
>>>remplacer Banane

Click sur tout remplacer et c'est tout.
0
groota Messages postés 18 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 11 novembre 2009 3
15 juin 2009 à 15:13
Merci pour tes réponses Mike-31

Enfait, à partir d'un fichier qu'on me donne, je crée des stats avec un tableau croisé dynamique et un graphique que je génère automatiquement à l'aide du macro. J'ai remarqué qu'il y avait cette erreur, et j'ai intégré directement la modification dans le macro. Malheureusement, je me suis rendu compte que cette erreur n'était pas forcément dans le même numéro de case (celà depend par exemple si on prend les données de janvier à juin ou simplement de avril à juin où cette erreur n'apparait plus). Je voudrais donc parcourir chaque case de la colonne E, et s'il y a "banane A5", changer le contenu de la cellule par "banane".

ps : Bien entendu, dans mon fichier, je ne parle pas de banane, de pomme etc .. c'était pour simplifier ...
0
groota Messages postés 18 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 11 novembre 2009 3
15 juin 2009 à 15:15
@ Bidouilleu_R : On peut le faire par macro ça ?
0
groota Messages postés 18 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 11 novembre 2009 3
15 juin 2009 à 15:22
Nikel ça marche Bidouilleu_R !
Merci beaucoup ! Bonne après midi :)
0