Un peu d'aide svp.
Résolu/Fermé
Mathbenjo
Messages postés
30
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
7 juillet 2010
-
11 mai 2009 à 09:46
Mathbenjo Messages postés 30 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 7 juillet 2010 - 11 mai 2009 à 13:33
Mathbenjo Messages postés 30 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 7 juillet 2010 - 11 mai 2009 à 13:33
3 réponses
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
11 mai 2009 à 11:31
11 mai 2009 à 11:31
Bonjour,
C'est le mélange entre les deux modes de notation de formule qui pose problème :
La notation de type "C4" et la notation relative de type "R[3]C[0]"
Il faut opter pour l'une ou l'autre. Par exemple ce code fonctionne :
Sheets("Feuil1").Select
Range("C3").Select
Dim tt As String
tt = Range("C1").Formula
ActiveCell.Formula = tt & "+" & ComboBox1.Value & "!C6"
Remarque : Il vaut mieux utiliser l'opérateur de concaténation & et déclarer tt en texte
A+
EDIT : pardon je viens de corriger en remettant ComboBox1.Value
C'est le mélange entre les deux modes de notation de formule qui pose problème :
La notation de type "C4" et la notation relative de type "R[3]C[0]"
Il faut opter pour l'une ou l'autre. Par exemple ce code fonctionne :
Sheets("Feuil1").Select
Range("C3").Select
Dim tt As String
tt = Range("C1").Formula
ActiveCell.Formula = tt & "+" & ComboBox1.Value & "!C6"
Remarque : Il vaut mieux utiliser l'opérateur de concaténation & et déclarer tt en texte
A+
EDIT : pardon je viens de corriger en remettant ComboBox1.Value
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
11 mai 2009 à 11:49
11 mai 2009 à 11:49
Re bonjour,
Pour être exhaustif, voici le code qui fonctionne en relatif :
Sheets("Feuil1").Select
Range("C3").Select
Dim tt As String
ActiveCell.Formula = Range("C1").Formula
ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 & "+" & ComboBox1.Value & "!R[3]C[0]"
En effet, il faut d'abord recopier la formule en C3 car si on prend le texte brut de la formule en C1, la référence relative n'est plus bonne pour C3
A+
Pour être exhaustif, voici le code qui fonctionne en relatif :
Sheets("Feuil1").Select
Range("C3").Select
Dim tt As String
ActiveCell.Formula = Range("C1").Formula
ActiveCell.FormulaR1C1 = ActiveCell.FormulaR1C1 & "+" & ComboBox1.Value & "!R[3]C[0]"
En effet, il faut d'abord recopier la formule en C3 car si on prend le texte brut de la formule en C1, la référence relative n'est plus bonne pour C3
A+
Mathbenjo
Messages postés
30
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
7 juillet 2010
11 mai 2009 à 13:33
11 mai 2009 à 13:33
Genial ca marche, merci beaucoup pour ton aide.
Je débute en vb je connais pas toutes les specificitées.
Bonne journée.
Je débute en vb je connais pas toutes les specificitées.
Bonne journée.