Changer le code d'une macro par une saisie de cellule

Berg1664

XLDnaute Occasionnel
Bonjour,

J'aimerais que le contenu du code d'une macro se modifie automatiquement en fonction de la saisie qui sera faite dans la cellule d'une feuille, il faudrait en fait que le code utilisé fasse référence au contenu de cette cellule, mais je suis bloqué, je ne sais plus faire .

Un exemple pour mieux me faire comprendre en pièce jointe

Merci pour votre aide

Cordialement
 

Pièces jointes

  • ZOZO.zip
    8.1 KB · Affichages: 39
C

Compte Supprimé 979

Guest
Re : Changer le code d'une macro par une saisie de cellule

Salut Berg1664,

Pourquoi ne pas faire plus simple et tester la valeur saisie :confused:

Si la valeur est "Raymond", la prochaine sera "Lucien"

Que veux-tu faire exactement ?

A+
 
G

Guest

Guest
Re : Changer le code d'une macro par une saisie de cellule

Bonjour Berg1664:
La cellule active prendra la valeur entrée en F4

Code:
Sub Raymond()
    ActiveCell.Value = Range("F4")    
End Sub

A bientôt

[Edition] Hello Bruno:) Bon retour?:D Sans oublier Gaël:D C'est le week-end qui se prolonge..............................
 
Dernière modification par un modérateur:

Gael

XLDnaute Barbatruc
Re : Changer le code d'une macro par une saisie de cellule

Bonjour Berg1664, Bonjour Bruno,

ça me paraît aussi un peu tordu. Si tu y tiens absolument, il n'est pas nécessaire de modifier le code de la macro, tu peux écrire simplement:

Code:
ActiveCell.Value = Cells(4, 6).Value

@+

Gael

Et salut G... euh Hasco, je ne t'avais pas vu et ton code est encore plus simple! J'espère que votre retour à tous les 2 s'est bien passé, et ce doit être le cas puisque vous êtes déjà sur XLD.

@+

Gael
 

Berg1664

XLDnaute Occasionnel
Merci mais cela ne répond pas à ma question, je souhaite savoir si on peut changer le code de la macro par une saisie dans une cellule.

Dans l'exemple que j'ai utilisé ce n'est pas l'affichage en F4 qui m'intéresse in fine mais le moyen d'y parvenir par le changement du code de la macro

Afin de réutiliser cette possibilité pour d'autres macro

L idéal serait que la formule fasse référence à une cellule

Un truc du genre ActiveCell.FormulaR1C1 = " sheets ("nom de la feuille") contenu de la cellule F4).Select

Ce n'est peut être pas possible , en tous cas merci beaucoup
 

Gael

XLDnaute Barbatruc
Re : Changer le code d'une macro par une saisie de cellule

Re,

Dans ce cas, tu peux écrire:

Code:
ActiveCell.FormulaR1C1 = "=R4C6"

    ActiveCell.FormulaR1C1 = "=R[-10]C2"

Dans le premier cas, c'est l'équivalent de =$F$4

Dans le deuxième cas, c'est en mode relatif, 10 lignes au-dessus et 2 colonnes à droite.

Si cela ne réponds toujours pas à ta question, il est aussi possible de modifier par macro le code d'une autre macro, mais c'est plus délicat.

@+

Gael
 

Gael

XLDnaute Barbatruc
Re : Changer le code d'une macro par une saisie de cellule

Re,

Tu rajoutes simplement le nom de la feuille comme dans une formule:

Code:
ActiveCell.FormulaR1C1 = "=Feuil3!R4C6"

Pour la saisie des formules par macro, utilises l'enregistreur de macro:

Tu fais macro - nouvelle macro
tu tapes la formule souhaitée dans une cellule
puis tu arrêtes l'enregistrement et tu regardes le résultat.

Pour les formules complexes, c'est vraiment très simple et efficace.

@+

Gael
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 173
dernier inscrit
Cerba95