Addition sur adresse d'une formule [Résolu]

Signaler
Messages postés
1270
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
20 janvier 2020
-
mod77
Messages postés
1270
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
20 janvier 2020
-
Bonjour,

Sous excel 2016,
J'ai copié la feuil2 en feuil3 avec la cellule "C13" = feuil1!D22.
Je souhaite qu'il y ait en C13: feuil1!D42 donc feuil1!D22 +20 systématiquement.

Comment puis-je faire svp?


Configuration: Windows / Firefox 71.0

6 réponses

Messages postés
1616
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
26 janvier 2020
222
Bonjour,
Un exemple de votre fichier avec explications serait le bienvenu.
Pour transmettre un fichier,
Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Cordialement

Messages postés
16047
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 janvier 2020
2 856
Bonjour Mod77, JCB40

si j'ai compris la demande pas très claire(??),

enfeuil2!C13
=DECALER(Feuil1!D22;20;0)
donne la valeur en feuil1!D42

Mais si 20 peut varier car résultat d'une formule en D22 (???)
DECALER(Feuil1!D22;D22;0)
Bonjour à tous les deux ,
Désolé du manque de clarté...

En feuil2, cellule C13 il y a cette formule: feuil1!D22
Je réalise, en VBA j'ai oublié de le préciser, une copie de la feuil2 en feuil3.
Donc dans la même cellule de la feuil3, j'ai la même formule, mais je souhaite qu'à chaque copie de la feuil n-1, il y ait un décalage de 20 lignes.
Donc que la formule en C13 devienne: feuil2!D42
Puis lorsque je copierais la feuil3 en feuil4, la formule en C13 devienne : feuil3!D62 etc...

En fait, j'ai trouvé avec la fonction : "split" et "instr" quelque chose qui fonctionne
le plus simple aurait été avec la fonction "Val" mais je n'arrive pas à la mettre en oeuvre pour l'instant... Merci à vous
Messages postés
16047
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 janvier 2020
2 856
Bonjour,

Avant de penser VBA, penser Formules

Ce problème se résout facilement par formules quelque soit le nombre de feuilles...
Messages postés
1270
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
20 janvier 2020
43
Bonjour,
J'ai avancé avec ce qui suit mais cela bug en dernière ligne alors que j'ai juste à concaténer.
Il y a "formule" c'est celle à qui je dois ajouter 20 lignes dans ma nouvelle feuille (feuil3).


'=0.25*(Budgets!E45+Budgets!E46)
formule = Sheets("feuil1").Range("D17").FormulaLocal

'=0,25*(Budgets!E45
part1 = Left(formule, 16) & Mid(formule, (InStr(formule, "E") + 1), InStr(formule, "+") - (InStr(formule, "E") + 1)) + 20 'passe à E65

'+Budgets!E46)
part2 = "+" & Left(Split(formule, "+")(1), 14) '& Split(formule, "E")(2)

part2 = Left(part2, 10) & Mid(part2, (InStr(part2, "E") + 1), InStr(part2, ")") - (InStr(part2, "E") + 1)) + 20 & ")" 'passe à E66

'reconstitution de la formule complète
Range("H15") = part1 & part2 <- Bug erreur 1004


quelqu'un serait-il m'aider svp?
Messages postés
1270
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
20 janvier 2020
43
J'ai trouvé ce qui n'allait pas:


Range("H15").FormulaLocal= part1 & part2