Rechercher remplacer dans excel

Résolu/Fermé
crazy_palaz - 12 mai 2011 à 12:12
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 - 31 mai 2011 à 18:52
Bonjour,

J'ai besoin d'un petit coup de pouce sur excel car après avoir parcouru beaucoup de forum sur le net, je n'ai pas encore trouvé la formule magique dans excel pour faire ce que je veux.


Je cherche en gros à utiliser le principe de fonction dans excel, sans utiliser la forme function dans vba (je veux pouvoir modifier mes fonctions directement dans excel).


J'ai une feuille nommée "parametres" qui en gros contient 2 colonnes : une colonne "nom du paramètre" (pour le décrire) et une colonne "valeur". Toutes les cellules de la colonnes "valeur" ont un nom attribué (au lieu de "B5", j'ai "duree_projet" par exemple).


Une seconde feuille "projet" qui contient des archives de la première feuille "parametre", avec une colonne nom identique, et plusieurs colonnes de valeurs, pour chaque projet. Là aussi, chaque valeur possède un nom, avec la même syntaxe que dans la feuille paramètre mais avec un suffixe, du genre : duree_projet_A pour le projet A.

Une troisième feuille nommée "fonction", avec là aussi 2 colonnes : une de "nom" et une de valeur. Les cellules de la colonne "valeur" contiennent des formules de calculs qui utilisent les nombres entrés dans la première feuille "parametre" du genre "=5+duree_projet/3"


Enfin, j'ai une quatrième feuille, nommée comparaison, qui comporte une colonne "nom" identique à celle de la feuille fonction, mais avec plusieurs colonnes dont les cellules contiennent les valeurs de plusieurs projets différents. Chaque cellule de ces colonnes reprend les formules de la feuille fonction mais avec les paramètres spécifiques à chaque projet, dont les valeurs sont dans la feuille "projet".


J'aimerai que quand je modifie une formule dans la feuille "fonction", elle soit automatiquement modifiée dans la feuille "comparaison" pour chaque projet. J'ai essayé d'utiliser des macros, les fonctions remplacer, substitue mais rien n'y fait, je n'arrive pas à modifier le contenu d'une formule.


J'espère que j'ai été assez clair, pas facile d'expliquer ce qu'on veut !
Merci de votre aide !



A voir également:

5 réponses

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
12 mai 2011 à 17:03
bonjour

un bout de code qui modifie automatiquement une formule en feuill 2 lorsqu'on modifie une formule en feuille 1
la formule f récupérée à l'adesse c de la feuille 1, est une chaine de caracteres (type string) que tu peux modifier comme tu veux (dans les limites légales) avant de la recopier dans une cellule de la feuille 2
ici, j'ai fait simple, f ne change pas et la cellule a la même adresse

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As String, f As String
  If Not Intersect(Target, Range("C1:C10")) Is Nothing Then
    c = Target.Address
    f = Range(c).Formula
    Sheets("Feuil2").Range(c).Formula = f
  End If
End Sub

bonne suite
1
crazy_plaaz
12 mai 2011 à 17:10
Merci de ta solution ! Je vais étudier ça de près.
0
crazy_palaz
13 mai 2011 à 09:55
Euuh avec toute ma bonne volonté, je n'arrive pas à appliquer ce code. Comment fais tu pour dire à excel que tu veux que la macro s'applique à telle cellule de la feuil1 ? Autrement dit, comment lui dire que Target = cellule B2 de la feuil1 ? (je suis nouveau en vba :p)
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
13 mai 2011 à 09:57
Dans la ligne
If Not Intersect(Target, Range("C1:C10")) Is Nothing Then


Range("C1:C10") indique la plage de cellule qui sera affectée par la macro.

Du coup, il te faut remplacer cette plage de cellule par celle que tu voudras modifier.

Cordialement.
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 13/05/2011 à 10:18
re
pour compléter les explications de chossette9

If Not Intersect(Target, Range("C1:C10")) Is Nothing Then
se lit
si Target (la cellule qui vient d'être modifiée) appartient à la plage C1:C10 alors ....
avec ceci, si une cellule de la plage C1:C10 change, alors ....
bonne suite
0
crazy_palaz
31 mai 2011 à 16:36
Coucou, juste pour vous annoncer que j'ai terminé la macro que je voulais faire en utilisant le code de ccm81 qui marche impec !

Merci à vous tous ;)
0
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
12 mai 2011 à 12:58
Salut !

Dans excel tu selectionnes tout ton tableau ,
ensuite tu fais édition atteindre formules
donc toutes tes formules sont sélectionnées
et ensuite remplacer le nom d'une feuille par une autre
et remplacer tout .

C' est tout ce que je vois dans Excel même
ma version d 'excel est ancienne mais tu dois avoir la même chose dans une version plus récente
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
12 mai 2011 à 13:57
Bonjour.

Quand on définit le nom d'une plage (ou d'une cellule), on a le choix de l'option "Dans le classeur / la feuille ...".

Quand on duplique une feuille contenant un nom de plage, Excel demande si le même nom peut être utilisé / si la valeur de la plage indiquée doit être utilisée dans la nouvelle feuille ...

En espérant que ça pourra t'être utile.
0
Je ne savais pas ça, mais en fait, je ne peux pas utiliser l'astuce de la duplication de feuille car j'ai un peu simplifié le problème. Les feuilles "fonction" et "comparaison" sont assez différentes en fait.

Je pense qu'il n'y a pas d'autre moyen que de passer par une macro.
0
crazy_palaz
12 mai 2011 à 14:10
Je pense que je vais simplifier mon problème et vous poser une question plus simple :

Comment à travers une macro excel, faire pour :

- rechercher dans le corps d'une formule un ou plusieurs mots situé dans une colonne de cellule

- les remplacer par d'autres mots issus d'une autre colonne de cellule de même taille
0

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

Posez votre question
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
31 mai 2011 à 18:52
re
bien, il ne te reste plus qu'à mettre le pb à Résolu
bonne fin de journée
0