Signaler

Formule contenant une fonction SI dans une cellule par macro [Résolu]

Posez votre question MKCS 18Messages postés mercredi 8 juin 2016Date d'inscription 19 avril 2017 Dernière intervention - Dernière réponse le 19 avril 2017 à 09:32 par MKCS
Bonjour,

J'ai effectué une macro qui ajoute une ligne à un tableau et qui crée un onglet en le renommant en fonction d'une cellule de la ligne créée.

Je souhaiterais maintenant insérer une formule dans une des cellules de la ligne créée, qui va faire apparaître ou non les infos de l'onglet nouvellement créé, avec condition, c'est à dire une fonction SI.

Pour cela, voici mon code:

Dim Var As String
Dim formule As String

' Trouver la dernière ligne du tableau
DLig = Range("A" & Rows.Count).End(xlUp).Row

' Définition de la variable qui représente le nom de l'onglet créé présent en
dernière cellule de la colonne X
Var = Range("X" & DLig + 1).Value

' Formule à insérer dans la dernière cellule de la colonne V à partir de l'onglet créé
formule = "IF(" & Var & "!$L$50<>"";" & Var & "!$L$50;"")"
Range("V" & DLig + 1).Formula = formule

J'ai testé ce code avec une fonction SOMME pour la formule et cela fonctionne (c'est d'ailleurs sur ce site que l'on m'a donné la solution :-)) mais apparemment ce n'est pas la même chose avec une fonction SI car il ne fonctionne pas...

Merci par avance de votre aide.

Sarah
Afficher la suite 
Utile
+0
plus moins
Bonjour

Essaies comme ceci
formule = "=IF(" & var & "!$L$50<>""""," & var & "!$L$50,"""")"

Tu peux aussi le dire en français
formule = "=SI(" & var & "!$L$50<>"""";" & var & "!$L$50;"""")"
Range("V" & dlig + 1).FormulaLocal = formule

Cdlmnt
MKCS 18Messages postés mercredi 8 juin 2016Date d'inscription 19 avril 2017 Dernière intervention - 19 avril 2017 à 09:32
Génial!! Ca fonctionne!! Merci car je n'aurais jamais imaginé que mon problème puisse venir des guillemets et des points virgules :-)

Merci encore pour ton aide.

Bonne continuation.

Sarah
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !