Demande aide syntaxe recalcitrante

Résolu
ZEFRAM28 Messages postés 15 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 9 janvier 2012 - 6 janv. 2012 à 00:08
ZEFRAM28 Messages postés 15 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 9 janvier 2012 - 9 janv. 2012 à 12:39
Bonjour à toutes et à tous,

Je travaille sur un fichier dont la formule d'une cellule est renseignée par une macro.

Le fonctionnement est le suivant, sur une sheet j'ai une case à cocher, j'ai affecté a une cellule ( DFPP_VIERGE!I15) l’état de cette case (cochée vrai/ décochée Faux)
Dans une autre cellule (DFPP_VIERGE!G12) , figure un commentaire.


je veux, en fonction de l'état de la case a cocher, placer dans une tierce cellule le contenu de DFPP_VIERGE!G12 en y intégrant en fonction de l'état de la case à cocher l'information texte "décentrage".



La formule de la tierce cellule renseignée hors macro (et qui fonctionne ) est :

SI(DFPP_VIERGE!I15VRAI;"decentré " & DFPP_VIERGE!G12;DFPP_VIERGE!G12)



Ma question est, quelle syntaxe dois-je utiliser pour faire écrire cette formule par la macro dans la cellule en question?
Pour information, la sheet DFPP_VIERGE sera identifiée dans la macro par la variable : nomnouvelledfpp???


J'ai fait différents tests mais le texte "decentré" me pose problème (à cause des guillemets qui polluent la syntaxe)

Merci de votre aide.

31 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 01:12
ou encore (pareil) genre :

 With Worksheets("Feuil1")
    Worksheets("Feuil2").Range("A1").Value IIf(.Range("A2") True, "decentré " & .Range("A3").Value, .Range("A3").Value)
  End With


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 janv. 2012 à 06:57
Ecrire la formule par macro ?

Range(...).Formula = "=IF(DFPP_VIERGE!I15, "decentré ") & DFPP_VIERGE!G12


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
9 janv. 2012 à 08:19
"""

tu as une guillemet de trop

la concaténation doit faire partie de la formule

activecell.formula="=IF(B4, ""décentrage "" & C4, C4)"

et non

activecell.formula="=IF(B4, ""décentrage """ & C4", C4)"

donc, dans ton cas :

"=IF(" & nomnouvelledfpp & "!I15, ""Décentrage "" & " & nomnouvelledfpp & "!G12, " & nomnouvelledfpp & "!G12)"



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
ZEFRAM28 Messages postés 15 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 9 janvier 2012
6 janv. 2012 à 00:11
Ah, j'oubliais,

La cellule que rempli la macro n'est pas sur la même sheet que les deux autres cellules :
DFPP_VIERGE!I15
DFPP_VIERGE!IG12

qui elles appartiennet a la même sheet.

Voila, merci de votre aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 00:44
Bonjour,

Montre donc le code de ta macro !

S"il s'agit de faire figurer les guillemets, il faut y écrire """decentré""" et non "decentré", comme dans cet exemple :
MsgBox """decentré""" & vbCrLf & "decentré"


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
6 janv. 2012 à 01:01
Salut

Regarde la fonction If-Then-Else
If Sheets("DFPP_VIERGE").Range("I15").Value = True Then
    Sheets("L'autre feuille").Range("A1").Value = _
         "décentré " & Sheets("DFPP_VIERGE").Range("G12").Value
Else
    Sheets("L'autre feuille").Range("A1").Value = _
         Sheets("DFPP_VIERGE").Range("G12").Value
End If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
ZEFRAM28 Messages postés 15 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 9 janvier 2012
6 janv. 2012 à 09:58
Bonjour à tous,

Merci pour vos propositions, cela fonctionne maintenant.

Bravo aussi @ VBFRANCE.COM, un site d'utilité publique

ZEFRAM28
0
ZEFRAM28 Messages postés 15 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 9 janvier 2012
6 janv. 2012 à 14:51
Oups,

Désolé d'avoir crié victoire trop tôt.

je dois preciser que je suis en Excel 2003 SP2 / VBA V6.3



ci-dessous la partie de code que je reprends :

With Sheets.item(nomfeuille)
ancienne ligne ne prennant pas en compte la case cochée / décochée
.Cells(numligne, 16).Formula = "=" & nomnouvelledfpp & "!G12" 'Solution
Nouvelle ligne prennant en compte la case cochée / décochée
.Cells(numligne, 16).Formula = "=si(" & nomnouvelledfpp & "!I15=vrai;Décentrage " & nomnouvelledfpp & "!G12;" & nomnouvelledfpp & "!G12)" 'Solution
End With

Je n'ai plus d'érreur mais la formule ne s'ecrit pas dans la cells(numligne,16)


Question :

1 - La syntaxe vous semble t'elle correcte?
2 - une idée sur le fait que la formule ne soit pas écrite?

Merci.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 janv. 2012 à 15:31
pas confondre IF et SI ...

Formula n'equivaut pas FormulaLocal

regarde le code que je t'ai passé, il est international...


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 16:43
si ===>> IF
Décentrage " ===>> ""Décentrage """ === >> ( je t'en avais pourtant parlé !)
tous tes ; ===>> ,

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ZEFRAM28 Messages postés 15 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 9 janvier 2012
6 janv. 2012 à 17:13
Bonjour Renfeild,

Mon objecit est de retrouver à terme dans la cellule .Cells(numligne, 16). la formule suivante :

SI(DFPP_xx!I15VRAI;"decentré " & DFPP_xx!G12;DFPP_xx!G12)

Cette formule tapée à la main dans la cellule (numligne, 16) fonctionne parfaitement.

je rappelle que DFPP_xx est géré par la variable nomnouvelledfpp
(ce nom étant incrémenté au fure et a mesure de l'ajout de feuilles dans le classeur)


Votre proposition ne correspond pas vraiment à ma demande.

il faut tester le critère .Cells(numligne, 16).Formula = "=si(" & nomnouvelledfpp & "!I15=vrai;.....

Deux possibilités :

1 - soit la condition n'est pas validée (Vrai = faux)
alors .Cells(numligne, 16) prends la valeur de DFPP_xx!G12".

2 - soit soit la condition est validée (Vrai = vrai)
Alors idem mais on fait précéder le resultat par le texte décentrage


Je n'arrives pas à faire ecrire cette fonction :
=SI(DFPP_xx!I15=VRAI;"decentré " & DFPP_xx!G12;DFPP_xx!G12)
dans la cellule en question par la macro VBA

j'en suis ici pour le moment mais cette ligne ne semble pas fonctionner (extrait de la macro):

With Sheets.item(nomfeuille)
.Cells(numligne, 16).Formula = "=si(" & nomnouvelledfpp & "!I15=vrai;Décentrage " & nomnouvelledfpp & "!G12;" & nomnouvelledfpp & "!G12)" 'Solution
End With

Merci du temps que vous voulez bien m'accorder.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 17:22
Relis le message de Renfield, ainsi que mon dernier message, auquel j'ajoute :
vrai ===>> TRUE


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 17:25
Puis va constater comment cela est finalement écrit ! (en français) !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ZEFRAM28 Messages postés 15 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 9 janvier 2012
6 janv. 2012 à 17:28
@ ucfoutu:

désolé, je n'avais pas compris ton poste.

j'ai testé cette ligne de commande :

.Cells(numligne, 16).Formula = "=si(" & nomnouvelledfpp & "!I15=vrai,""Décentrage """ & nomnouvelledfpp & "!G12," & nomnouvelledfpp & "!G12)" 'Solution clotaire


elle ne fonctionne pas plus (rien d'inscrit dans la cellule ou devrait se trouver la formule).


Je vous poste l'integralité de la sub au poste suivant.
0
ZEFRAM28 Messages postés 15 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 9 janvier 2012
6 janv. 2012 à 17:28
Sub new_DFPP()

Application.StatusBar = "En cours de travail"
ActiveWorkbook.DisplayDrawingObjects = xlHide

Dim lettre, var, var0, projet, designation, reference, mat, epais, animtech, _
nomnouvelledfpp, NomFDR As String
Dim numligne, XHG, YHG, XBD, YBD, CADRANT, lignelimite, num_FDR, num_dfpp, aficheligne, i, j, DerniereCellule As Integer

On Error Resume Next


projet = ActiveSheet.UsedRange.Cells(1, 6).Value
num_FDR = ActiveSheet.UsedRange.Cells(1, 13).Value
num_dfpp = ActiveSheet.UsedRange.Cells(5, 31).Value
NomFDR = "Fiche_de_vie" & num_FDR

ActiveSheet.Unprotect


'num_dfpp = ActiveSheet.UsedRange.Cells(5, 31).Value
'BE = ActiveSheet.UsedRange.Cells(7, 22).Value

If num_dfpp = 0 Then
MsgBox "Vous ne pouvez plus créer de DFPP à partir de cette " & _
"fiche de vie." & Chr(10) & "Veuillez aller à la plus récente" & _
"des fiches de vie."
ActiveWorkbook.DisplayDrawingObjects = xlAll
Application.StatusBar = "Prêt"
Exit Sub
End If

numligne = ActiveCell.Row

If numligne < 36 Or numligne > 136 And ActiveSheet.Range("A1").Value <> "Fiche de Risques Emboutissage" Then 'UsedRange.Cells(1, 1)
MsgBox "Veuillez utiliser ce menu uniquement dans la zone jaune d'une fiche de vie"
ActiveWorkbook.DisplayDrawingObjects = xlAll
Application.StatusBar = "Prêt"
Exit Sub
End If

Dim nomfeuille As String
nomfeuille = ActiveSheet.Name

Dim test As Boolean
test = Selection.EntireRow.Hidden

'test pour savoir quel est la derniere ligne cachée de la ligne 12 à 29
For t = 14 To 31

test = ActiveSheet.UsedRange.Cells(t, 1).EntireRow.Hidden

If test = True Then
lignelimite = t - 1
Exit For
End If
lignelimite = t
Next

numligne = ActiveCell.Row

If ActiveSheet.UsedRange.Cells(numligne, 2).Value = "" Then
Else
MsgBox "une DFPP a déja été créée à cette ligne" & Chr(10) & _
" veuillez selectionner une autre ligne"
ActiveWorkbook.DisplayDrawingObjects = xlAll
Application.StatusBar = "Prêt"
Exit Sub

End If

var = ActiveSheet.UsedRange.Cells(numligne, 4).Value

If var = "" Then
MsgBox "Veuillez choisir un carreau compris entre A1 et U" & lignelimite
ActiveWorkbook.DisplayDrawingObjects = xlAll
Application.StatusBar = "Prêt"
Exit Sub
End If

'test pour savoir quel est la derniere ligne cachée de la ligne 36 à 136
For t = 36 To 136

test = ActiveSheet.UsedRange.Cells(t, 1).EntireRow.Hidden

If test = True Then
aficheligne = t
Exit For
End If
If t 136 And numligne 136 Then
MsgBox "Vous ne pourrez plus ajouter de nouvelle DFPP dans cette Fiche de vie" _
& Chr(10) & "Nous vous conseillons de créer une nouvelle Fiche de vie" _
& Chr(10) & "(Bouton en haut de cette page)"
End If
Next

For i = 1 To 21

lettre = Chr(i + 64)

For j = 1 To lignelimite

var0 = lettre & j

If var0 = var Then

CADRANT = numero_cadrant(i, j)

With Sheets(nomfeuille).UsedRange
.Cells(numligne, 3).Value = num_dfpp
.Cells(numligne, 26).Value = "Cré"
.Cells(numligne, 29).Value = 1
.Cells(aficheligne, 1).EntireRow.Hidden = False
.Cells(5, 6).Value = Date
End With

Sheets.item(nomfeuille).Cells(5, 31).Value = num_dfpp + 1
Sheets.item(nomfeuille).Cells(numligne, 3).Select

nomnouvelledfpp = "DFPP_" & num_dfpp

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
nomnouvelledfpp & "!D12"
Selection.Font.Size = 10

'ProtegerFeuilleDeRISQUE (nomfeuille)=> NE pas proteger ici , debut ecriture feuille de risque à partir dfpp




Sheets("DFPP_VIERGE").Visible = True
Sheets("DFPP_VIERGE").Copy after:=Sheets(nomfeuille)
ActiveSheet.Name = nomnouvelledfpp
Sheets("DFPP_VIERGE").Visible = False

ActiveWorkbook.Sheets(nomnouvelledfpp).Tab.ColorIndex = 42 'bleu
ActiveWorkbook.Sheets(nomnouvelledfpp).Cells(1, 15).Value = num_dfpp
With Sheets.item(nomfeuille)
.Cells(numligne, 1).Formula = "=" & nomnouvelledfpp & "!B7" 'Reference
.Cells(numligne, 2).Formula = "=" & nomnouvelledfpp & "!K4" 'METIER
.Cells(numligne, 9).Formula = "=" & nomnouvelledfpp & "!B12" 'date demande
.Cells(numligne, 5).Formula = "=" & nomnouvelledfpp & "!L7" 'GFE
.Cells(numligne, 8).Formula = "=" & nomnouvelledfpp & "!M14" 'K+Prob
.Cells(numligne, 6).Formula = "=" & nomnouvelledfpp & "!B13" & _
" & " & Chr(34) & " / " & Chr(34) & " & " & nomnouvelledfpp & "!B14" 'jalon de DT
.Cells(numligne, 11).Formula = "=" & nomnouvelledfpp & "!D12" 'probleme
.Cells(numligne, 16).Formula = "=" & nomnouvelledfpp & "!G12" 'Solution
' .Cells(numligne, 16).Formula = "=si(" & nomnouvelledfpp & "!I15=vrai,""Décentrage """ & nomnouvelledfpp & "!G12," & nomnouvelledfpp & "!G12)" 'Solution clotaire
.Cells(numligne, 24).Formula = "=" & nomnouvelledfpp & "!F34" 'jalon application
'.Cells(numligne, 19).Formula = "=" & nomnouvelledfpp & "!I39" 'responsable
.Cells(numligne, 31).Formula = "=" & nomnouvelledfpp & "!C34" 'date réponse
.Cells(numligne, 26).Formula = "=" & nomnouvelledfpp & "!K3" 'état

' If .Cells(7, 31).Value < 2 Then "Suppression katty : pavé permettant de choisir piece dans dffp selon liste à partir de fiche de risque"
Sheets(nomnouvelledfpp).Cells(7, 2).Formula = "=" & NomFDR & "!E7" 'reference
Sheets(nomnouvelledfpp).Cells(7, 5).Formula = "=" & NomFDR & "!H7" 'designation
Sheets(nomnouvelledfpp).Cells(8, 2).Formula = "=" & NomFDR & "!O7" 'MATIERE
Sheets(nomnouvelledfpp).Cells(8, 5).Formula = "=" & NomFDR & "!Q7" 'PROTECTION
Sheets(nomnouvelledfpp).Cells(8, 7).Formula = "=" & NomFDR & "!S7" 'EPAISSEUR
Sheets(nomnouvelledfpp).Cells(7, 9).Formula = "=" & NomFDR & "!V7" 'IDENTIFIANT
Sheets(nomnouvelledfpp).Cells(7, 12).Formula = "=" & NomFDR & "!Y7" 'GFE
Sheets(nomnouvelledfpp).Cells(8, 9).Formula = "=" & NomFDR & "!AA7" 'NO EMBALAGE

'"Suppression katty :pavé permettant de choisir piece dans dffp selon liste à partir de fiche de risque"
'Sheets(nomnouvelledfpp).Cells(2, 11).Value = num_dfpp 'NO DFPP

' Else
' Sheets(nomnouvelledfpp).Cells(7, 2).Select
' Selection.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
' xlBetween, Formula1:="=ListeRef"
' End If

End With

With Sheets.item("LISTES")
DerniereCellule = Sheets("LISTES").Range("AA65536").End(xlUp).Row
.Cells(DerniereCellule + 1, 27).Formula = "=" & nomnouvelledfpp & "!B10"
.Cells(DerniereCellule + 1, 28).Formula = "=" & nomnouvelledfpp & "!C10"
.Cells(DerniereCellule + 1, 29).Formula = "=" & nomnouvelledfpp & "!D10"
.Cells(DerniereCellule + 1, 30).Formula = "=" & nomnouvelledfpp & "!E10"
.Cells(DerniereCellule + 1, 31).Formula = "=" & nomnouvelledfpp & "!F10"
.Cells(DerniereCellule + 1, 32).Formula = "=" & nomnouvelledfpp & "!G10"
.Cells(DerniereCellule + 1, 33).Formula = "=" & nomnouvelledfpp & "!H10"
.Cells(DerniereCellule + 1, 34).Formula = "=" & nomnouvelledfpp & "!I10"

End With

Sheets("LISTES").Cells(DerniereCellule + 1, 26).Value = num_dfpp


Sheets.item(nomnouvelledfpp).Select

With ActiveSheet
.Cells(13, 12).Value = var
.Cells(3, 1).Value = projet
.Cells(5, 12).Value = num_dfpp
.Cells(5, 11).Value = num_FDR
.Cells(3, 11).Value = "Cré"
.Cells(13, 12).Formula = "='" & nomfeuille & "'!D" & numligne
'.Cells(2, 11).Value = num_dfpp
'.Cells(1, 11).Value = num_FDR
End With

ActiveSheet.UsedRange.Cells(14, 14).Value = CADRANT
ActiveWorkbook.DisplayDrawingObjects = xlAll
'Application.Run "contour_cache"
'Application.Run "contour_affiche"
'Application.Run "maj_image"
Application.StatusBar = "Prêt"

ProtegerFeuilleDeRISQUE (nomfeuille)

' Sheets(nomfeuille).Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
' False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
' AllowFormattingRows:=True, AllowInsertingHyperlinks:=True, AllowSorting:= _
' True, AllowFiltering:=True, AllowUsingPivotTables:=True


Exit Sub
End If
Next

Next
MsgBox "Veuillez choisir un carreau compris entre 11 et U" & lignelimite
ActiveWorkbook.DisplayDrawingObjects = xlAll
Application.StatusBar = "Prêt"

ProtegerFeuilleDeRISQUE (nomfeuille)

'Sheets(nomfeuille).Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
' False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
' AllowFormattingRows:=True, AllowInsertingHyperlinks:=True, AllowSorting:= _
' True, AllowFiltering:=True, AllowUsingPivotTables:=True





End Sub
0
ZEFRAM28 Messages postés 15 Date d'inscription jeudi 29 septembre 2011 Statut Membre Dernière intervention 9 janvier 2012
6 janv. 2012 à 17:33
@ Ucfoutu :

en répons a tes deux precedents posts :

Relis le message de Renfield, ainsi que mon dernier message, auquel j'ajoute :
vrai ===>> TRUE
Puis va constater comment cela est finalement écrit ! (en français) !

meme réponse.

entre temps j'ai posté la sub concernée afin de vous permettre d'avoir une vision plus globale.

j'ai la pretention de croire que seule le bout que je vous ai fourni doit etre repris mais bon, je ne suis vraiment pas un specialiste, tout juste un bidouilleur qui essaie de s'en sortir.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 17:41
1) Veux-tu_ bien corriger comme nous te l'avons demandé ?
2) ce ne sera pas l'ensemble d'un code (de surcroît non indenté et non mis entre balises, que nous allons analyser). Nous ne traitons ici que la manière d'utiliser Formula
3) si tout ceci te semble curieux, c'est que tu as besoin d'ouvrir ton aide VBA sur le mot Formula (nettement préférable en utilisation) et sur le mot FormulaLocal (et comprendre les différences)
4) ce qui m'inquiète un peu, par contre, est que tu as dit plus haut que "la formule ne s'écrivait pas" (ne pas s'écrire est différent de "s'écrire de manière non attendue"!
J'espère que tu ne cherches pas à écrire dans une cellule protégée (mais ce serait là un tout autre problème, n'ayant rien à voir avec celui de la syntaxe pour Formula).
Bonne chance

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 janv. 2012 à 17:46
ouh...

ne pas faire :

.Cells(numligne, 16).Formula = "=si(" & nomnouvelledfpp & "!I15=vrai,""Décentrage """ & nomnouvelledfpp & "!G12," & nomnouvelledfpp & "!G12)" 'Solution clotaire

mais

.Cells(numligne, 16).FormulaLocal = "=si(" & nomnouvelledfpp & "!I15;""Décentrage """ & nomnouvelledfpp & "!G12;" & nomnouvelledfpp & "!G12)" 'Solution clotaire


Comme je te l'ai dit plus haut...

sinon, faire :

.Cells(numligne, 16).Formula = "=IF(" & nomnouvelledfpp & "!I15,""Décentrage """ & nomnouvelledfpp & "!G12," & nomnouvelledfpp & "!G12)" 'Solution clotaire



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 janv. 2012 à 17:47
FormulaLocal appelle les separateurs de liste definis dans les regional settings (, ou ;) et le nom des fonctions en Francais (ou Allemand, etc.)

pour ca que je lui prefere la version internationale, puisqu'elle fonctionnera partout

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 janv. 2012 à 17:52
+1

Surtout qu'en plus, la formule avec Formula sur la feuille sera "transposée" dans la langue locale de toutes manières

Petite preuve/test à 5 sous
Sheets("Feuil1").Range("A1").Formula = "=IF(A1=TRUE,""c'est vrai"",""c'est pas vrai"")"



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Rejoignez-nous