Problème de guillemets dans une formule

Bonjour à tous,

J'essaye dans mon code de faire référence à une cellule dans une autre feuille de calcul qui reste fixe au fur et à mesure que le script parcours la colonne. Ainsi, je cherche à avoir écrit dans les cellules suivantes : (avec ou sans dollar ça n'a pas d'importance)

Cellule G15 : =F15*'Ruisseau Pratt'!F15+'Ruisseau Pratt'!G15 Cellule G16 : =F16*'Ruisseau Pratt'!F15+'Ruisseau Pratt'!G15 Et ainsi de suite

Cependant, lorsque j'exécute mon code VBA qui est le suivant :

ActiveCell.FormulaR1C1 = "RC[-1]*'Ruisseau Pratt'!F15+'Ruisseau Pratt'G15

J'obtiens ceci dans la formule en question :

=F15*'Ruisseau Pratt'!'F15'+'Ruisseau Pratt'!'G15'

J'ai bien saisi que ces guillemets étaient là pour s'assurer qu'Excel prenait en compte le fait que c'était du texte, mais je n'arrive pas à les sortir de la chaîne de caractère par l'utilisation des & afin de concaténer celle-ci.

Je vous demande de l'aide car je ne m'en sort pas !

Merci d'avance

Bonsoir,

Essayez ceci :

ActiveCell.FormulaR1C1 ="=RC[-1]*'Ruisseau Pratt'!RC[-1]+'Ruisseau Pratt'!RC"

@ bientôt

LouReeD

Oui cela marche mais seulement pour la ligne 15 or j'aimerais que mon algorithme force à ce que ce soit la ligne 15 pour toutes les lignes en question !

en fait le "15" est induit par le ActiveCell....

Donc il suffit d'activer les cellules en ligne 16, puis 17....

Ou bien de faire :

Selection.AutoFill Destination:=Range("G15:G30"), Type:=xlFillDefault

juste après avec "G15:G30" qui correspond à la plage où vous voulez la formule.

@ bientôt

LouReeD

Donc j'en déduis qu'il n'est pas possible de définir une cellule de manière absolue et seulement de manière relative ?

Je ne suis pas bien sûr de comprendre votre réponse désolé...

Autant pour moi !

C'est moi qui n'est pas compris !

le "deuxième" F15 doit rester "fixe" malgré l'évolution des formules au fil des lignes...

ActiveCell.Formula = "=F15*'Ruisseau Pratt'!$F$15+'Ruisseau Pratt'!G15"
Selection.AutoFill Destination:=Range("G15:G30"), Type:=xlFillDefault

on transforme FormulaR1C1 en Formula

@ bientôt

LouReeD

Bonsoir Coaticook, LouReeD,

Je propose ce fichier Excel :

14exo-coaticook.xlsm (13.67 Ko)

1) à l'ouverture, c'est sur la 1ère feuille "Ruisseau Pratt" ; en F15 : 10 ; en G15 : 5 ; Ctrl e : inopérant sur cette feuille

2) aller sur la feuille "Feuil2" ; voir les nombres en F15:F20 ; Ctrl e ➯ travail effectué ; vérifier les formules

Alt F11 pour voir le code VBA, puis revenir sur Excel

Cordialement,

dhany

Ca me fait toujours le même problème, avec les ' qui se rajoutent et qui forcent la formule à penser qu'il s'agit de texte alors que mon but est qu'elle comprenne qu'il s'agit de cellules...

Bonsoir dhany !

Voilà, la solution était bien de passer en Formula...

Un petit passage bien utile !

dhany, du canard ?

@ bientôt

LouReeD

Bonsoir dhany, et merci beaucoup c'est exactement ce que je cherchais !

Merci également à Lou Reed qui, en plus d'écouter de la bonne musique, a pris du temps pour m'aider.

Bonne soirée à tous les deux et merci encore !

Bonsoir,

pour finir voici un fichier avec mon code...

Il n'y a point de guillemet à l'issu du code chez moi...

le fichier :

6test-f15.xlsm (14.36 Ko)

@ bientôt

LouReeD

Remarque :

en fait je n'avais pas fait attention au G15 qui devait rester fixe, il suffit alors sur mon code de rajouter des $...

Donc la conclusion est : passer de formular1c1 à formula...

@ bientôt

LouReeD

@Coaticook

J'ai oublié une petite précision à propos de ta version d'Excel : tu as indiqué : 2018 mais cette version n'existe pas encore ! même si on est bien en 2018, la dernière version d'Office est la 2016 ; si tu veux corriger ton info de version, pointe ton pseudo (en haut à droite), Panneau de l'utilisateur, onglet Profil.

dhany

Toujours dans la couleur ?

Je vous en félicite car c'est du boulot toute cette mise en forme du texte !

@ bientôt

LouReeD

Salut à tous, j'ai encore un (petit cette fois) problème !

En fait changer le FormulaR1C1 par Formula marche super pour prendre les coordonnées des cellules dans l'autre feuille mais le RC[-1] qui m'étais très utile ne marche du coup plus...

Et je n'arrive pas à faire marcher l'AutoFill car j'ai une condition pour dérouler la suite de l'algorithme :

...
For Each c In Worksheets("Débit de sortie").Range("G7:G56").Cells
If c.Value>Range("G4") Then
c.Select
ActiveCell.Formula = "=F7*'Ruisseau Pratt'!F$15+'Ruisseau Pratt'!G$15"
Selection.Autofill Destination :=Range("F7:F56"), Type :=xl

En fait ce F7 j'aimerais qu'il soit un RC[-1] mais ça ne peut pas l'être... J'aimerais juste récupérer la cellule à gauche de celle qu'il décide de modifier

Merci d'avance !

PS : Je n'arrive pas à changer ma version d'Excel dans panneau -> profil...

Bonsoir,

essayez ceci, sans avoir essayé :

ActiveCell.Formula = "=" & ActiveCell.OffSet(,-1).Address & "*'Ruisseau Pratt'!F$15+'Ruisseau Pratt'!G$15"

et sans conviction...

@ bientôt

LouReeD

Ca marche parfaitement ! J'avais tenté le Offset mais sans le Adress et ça n'avait pas marché... Merci encore !

Bonne journée!

Bonne soirée à vous !

@ bientôt

LouReeD

Rechercher des sujets similaires à "probleme guillemets formule"