[VBA] Formule en valeur absolue [Résolu/Fermé]

Signaler
Messages postés
79
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2014
-
Messages postés
79
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2014
-
Bonjour à tous,

Je dois imputer, par VBA, à certaines cellules, des formules faisant référence à une feuille différente. J'ai cru un moment que de passer par des formules en valeur absolue serait possible. Ainsi j'ai tenté le code qui suit, peut-être innocemment, qui ne marche pas (sachant que mon Colonne1 récupère bel et bien une lettre) :

xlSheet2.Range("B8").Value = "=Données_Tous_Découpages'!$" & Colonne1 & "$2"

Y a-t'il moyen de garder cette méthode, en trouvant les parties qui clochent, ou alors est-ce tout simplement impossible de la sorte?

Si c'est impossible, comment opérer au + facile (toujours en gardant la méthode valeur absolue si possible)? ... je pense à Cells(x,y).Address ... mais si vous connaissez plus court.

Merci d'avance.
A voir également:

4 réponses

Messages postés
1769
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
15 juin 2020
589
xlSheet2.Range("B8").Value =
"=" & Sheets("Données_Tous_Découpages").Columns(colonne1).Rows(2).Address(1, 1, 1, 1)
Messages postés
79
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2014
3
Merci thev pour l'intérêt porté.

J'ai failli venir dire que ça marchait pas (dans l'incompréhension j'avoue) ... en fait la cellule sur laquelle je testais était en police blanche ... ^^"

Sinon les deux façons suivantes fonctionnent (il attend un chiffre dans Columns de ton code thev):

xlSheet2.Range("B8").Value = "=Données_Tous_Découpages!$" & Colonne1 & "$2
"
---------------------------------------------------------------------------------------------
xlSheet2.Range("B8").Value =   
"=" & Sheets("Données_Tous_Découpages").Columns(6).Rows(2).Address(1, 1, 1, 1)


Merci encore
Messages postés
79
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2014
3
Je reviens à la charge, car lors de l'insertion d'une vraie fonction (et non pas juste une référence à une autre cellule), ma méthode ne marche pas (du moins il indique #NOM? ... le calcul se fait lorsqu'on rentre dans la barre de formule, et qu'on appuie sur Entrée ... problème de reconnaissance de format?)

Comment contourner ça, ou thev si tu suis toujours le fil, comment tu transposerais dans ta méthode?

Voilà le code qui "ne marche pas" :

xlSheet.Range("D37").Value = "=SOMME(Données_Tous_Découpages!$" & Colonne1 & "$5:$" & Colonne1 & "$9)"
Messages postés
23896
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 février 2021
6 666
Bonjour,

en vba les fonctions doivent être en anglais.
Donc SUM

eric
Messages postés
79
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
6 septembre 2014
3
Ah ok merci bien eric, c'est ça ...

Donc voilà le code qui marche au final (où Colonne1 est une lettre) :

xlSheet.Range("D37").Value = "=SUM(Données_Tous_Découpages!$" & Colonne1 & "$5:$" & Colonne1 & "$9)"