Formule en VBA avec cellule et variables

  • Initiateur de la discussion Initiateur de la discussion MaTThi9u
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MaTThi9u

XLDnaute Nouveau
Bonsoir,

galère, galère, je ne parviens pas à construire une formule en vba.
çà va faire 2 heures et rien y fait.

je souhaite insérer une formule dans une cellule mais à part avoir des erreurs 1004 ou des non fonctionnelles, je ne m'en sors pas ...

en gros je souhaite la formule:
=si telle cellule vide alors vide sinon variable & cellule & . & cellule et variable.

fichier joint.

merci d'avance.

EDIT: je souhaite obtenir grâce à la formule le chemin vers une photo du type : chemin_photo\nom1.prenom1.jpg
 

Pièces jointes

Dernière modification par un modérateur:
Re : Formule en VBA avec cellule et variables

Bonsoir.
Et en exactement, vous voulez quoi comme formule ?
Ah, "chemin du classeur\Photos\"&$A2&"."&$B2&".jpg") je suppose
Attendez un instant…
Comme ça :
VB:
Sub cheminphoto()
Feuil1.[C2:C6].FormulaR1C1 = "=IF(RC1="""","""",""" & _
   ThisWorkbook.Path & "\Photos\""&RC1&"".""&RC2&"".jpg"")"
End Sub
 
Dernière édition:
Re : Formule en VBA avec cellule et variables

Nickel çà fonctionne même si je ne comprends pas trop tous ces "RC" ...
Mais, car il y a toujours un mais, impossible de passer mes variables dans la formule ...
Code:
Sub cheminphoto()
dim extension as string, chemin_photo as string
extension = ".jpg", chemin_photo = ThisWorkbook.Path & "\Photos\"
Feuil1.[C2:C6].FormulaR1C1 = "=IF(RC1="""","""",""" & _
   chemin_photo"&RC1&"".""&RC2&"extension")"
End Sub
erreur de syntaxe et j'en passe ...
 
Re : Formule en VBA avec cellule et variables

Bonjour.
Il n'est jamais possible de passez des variables dans une formule, seulement leurs valeurs.
Mais là, c'est inutile de passer par des variables pour des valeurs à n'appliquer qu'une fois.
Mais si vous y teniez absolument :
VB:
Sub cheminphoto()
Dim extension As String, chemin_photo As String
extension = ".jpg": chemin_photo = ThisWorkbook.Path & "\Photos\"
Feuil1.[C2:C6].FormulaR1C1 = "=IF(RC1="""","""",""" & _
   chemin_photo & """&RC1&"".""&RC2&""" & extension & """)"
End Sub

En notation R1C1, RC1 signifie Ligne courante de la formule et colonne 1.
On peut aussi utiliser la notation A1 pour plusieurs cellules, mais ça me parait moins clair car seule la 1ère cellule de la plage recevra exactement la formule spécifiée, les autres seront changées par la recopie incrémentée. En R1C1 c'est rigoureusement la même formule partout, puisque les références relatives le sont par rapport à la ligne et la colonne de chaque cellule qui porte la formule.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour