Erreur Syntaxe L & LigCritère1 : L & LigCritère2
Résolu
Stephxx
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Stephxx Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Stephxx Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Après avoir calculé deux numéros de ligne (PremLig2 et PremLig3) je souhaite utiliser ces valeurs dans une FormulaLocal mais impossible de trouver la bonne syntaxe:
Range("I" & PremLig2).FormulaLocal = "=SI(ESTNA(J" & PremLig2 & ");0;SI(J " & PremLig2 & "<>"""";0;SI(OU(G " & PremLig2 & "<>G " & PremLig2 - 1 & ";F " & PremLig2 & "<>F " & PremLig2 - 1 & ";J1<>"""");MAX($I$& " & PremLig2 - 1 & ":$I " & PremLig2 - 1 & ")+1;I" & PremLig2 - 1 & ")))"
Range("I" & PremLig2).AutoFill Destination:=Range("I" & PremLig2 ":I" & PremLig3 - 1)
Avez vous des idées ? <3
Après avoir calculé deux numéros de ligne (PremLig2 et PremLig3) je souhaite utiliser ces valeurs dans une FormulaLocal mais impossible de trouver la bonne syntaxe:
Range("I" & PremLig2).FormulaLocal = "=SI(ESTNA(J" & PremLig2 & ");0;SI(J " & PremLig2 & "<>"""";0;SI(OU(G " & PremLig2 & "<>G " & PremLig2 - 1 & ";F " & PremLig2 & "<>F " & PremLig2 - 1 & ";J1<>"""");MAX($I$& " & PremLig2 - 1 & ":$I " & PremLig2 - 1 & ")+1;I" & PremLig2 - 1 & ")))"
Range("I" & PremLig2).AutoFill Destination:=Range("I" & PremLig2 ":I" & PremLig3 - 1)
Avez vous des idées ? <3
A voir également:
- Erreur Syntaxe L & LigCritère1 : L & LigCritère2
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
- Comment recuperer whatsapp supprimé par erreur - Guide
2 réponses
Essaie d'avoir un peu plus de méthode.
1) colle ta formule dans VBE :
2) double toutes les " internes :
3) remplace une partie à changer par " & & " (2 espaces entre & &), ici le 1er 2 :
4) insère ta variable ou ta formule entre les 2 & &
5) tu valides pour voir si tu n'es pas trompé et tu fais les suivants pareil, un par un.
Et si tu as encore un pb ou si tu veux contrôler la chaine fabriquée :
- met un Stop devant ou fait un pas à pas (F8) jusque là
- sélectionne l'ensemble de ta formule avec les " " externes, fait glisser l'expression dans la fenêtre Espions.
- là tu peux y lire ce que tu as fabriqué pour comparer avec ce que tu attendais.
Tu peux y copier la chaine fabriquée pour la coller dans une cellule pour contrôler ou faciliter la comparaison.

Dis-moi si tu t'en sors mieux.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
1) colle ta formule dans VBE :
= "=SI(NON(ESTNA(G2));SI(I2<>0; A2&"-"&I2&":"&NB.SI($I$1:$I1;$I2)+1);0)"
2) double toutes les " internes :
= "=SI(NON(ESTNA(G2));SI(I2<>0; A2&""-""&I2&"":""&NB.SI($I$1:$I1;$I2)+1);0)"
3) remplace une partie à changer par " & & " (2 espaces entre & &), ici le 1er 2 :
= "=SI(NON(ESTNA(G" & & ">));SI(I2<>0; A2&""-""&I2&"":""&NB.SI($I$1:$I1;$I2)+1);0)"
4) insère ta variable ou ta formule entre les 2 & &
= "=SI(NON(ESTNA(G" & PremLig2 + 1 & "));SI(I2<>0; A2&""-""&I2&"":""&NB.SI($I$1:$I1;$I2)+1);0)"
5) tu valides pour voir si tu n'es pas trompé et tu fais les suivants pareil, un par un.
Et si tu as encore un pb ou si tu veux contrôler la chaine fabriquée :
- met un Stop devant ou fait un pas à pas (F8) jusque là
- sélectionne l'ensemble de ta formule avec les " " externes, fait glisser l'expression dans la fenêtre Espions.
- là tu peux y lire ce que tu as fabriqué pour comparer avec ce que tu attendais.
Tu peux y copier la chaine fabriquée pour la coller dans une cellule pour contrôler ou faciliter la comparaison.

Dis-moi si tu t'en sors mieux.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Bonjour,
Tu as mis des espaces indésirables derrière chaque lettres de colonne, plus d'autres erreurs diverses.
Une seule ligne suffit :
La prochaine fois met en plus la formule en clair, là on ne sait pas ce que tu veux obtenir exactement. Et utilise l'outil <> pour mettre en forme le code.
Ca aide ceux qui t'aident
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Tu as mis des espaces indésirables derrière chaque lettres de colonne, plus d'autres erreurs diverses.
Une seule ligne suffit :
Range("I" & PremLig2).Resize(PremLig3 - PremLig2 + 1).FormulaLocal = "=SI(ESTNA(J" & PremLig2 & ");0;SI(J" & PremLig2 & "<>"""";0;SI(OU(G" & PremLig2 & "<>G" & PremLig2 - 1 & ";F" & PremLig2 & "<>F" & PremLig2 - 1 & ";J1<>"""");MAX($I$" & PremLig2 - 1 & ":$I" & PremLig2 - 1 & ")+1;I" & PremLig2 - 1 & ")))"
La prochaine fois met en plus la formule en clair, là on ne sait pas ce que tu veux obtenir exactement. Et utilise l'outil <> pour mettre en forme le code.
Ca aide ceux qui t'aident
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
pourrais tu m'aider sur cette petit variante:
en zoomant sur le problème de syntaxe:
et
Pb exprimé en français: quelle est la syntaxe quand on veut inclure dans les critères des signes ex: "-" et ":" ?
Range("K" & PremLig2 + 1).Resize(PremLig3 - PremLig2 - 1).FormulaLocal = "=SI(NON(ESTNA(G" & PremLig2 + 1 & "));SI(I" & PremLig2 + 1 & "<>0; A"& PremLig2 + 1 &" ""-"" & I "& PremLig2 + 1 &" "":"" "&NB.SI($I$" & PremLig2 & ":$I" & PremLig2) + 1 &";I"& PremLig2 + 1 &");0);0)"
en zoomant sur le problème de syntaxe:
PremLig2 + 1 &" ""-"" & I "& PremLig2
et
PremLig2 + 1 &" "":"" "&NB.SI($I$" & PremLig2
Pb exprimé en français: quelle est la syntaxe quand on veut inclure dans les critères des signes ex: "-" et ":" ?
Bonjour Eric,
voici ce que donne la formule en K2: avec PremLig2 = 1
Ce qui me pose problème ce sont les "-" et ":" à incorporer dans le code vba. C'est de la syntaxe mais je n'arrive pas à trouver malgré de nombreux essais.
Je fais mon maximum pour la clarté des question, excuse.
Steph
voici ce que donne la formule en K2: avec PremLig2 = 1
=SI(NON(ESTNA(G2));SI(I2<>0; A2&"-"&I2&":"&NB.SI($I$1:$I1;$I2)+1);0)
Ce qui me pose problème ce sont les "-" et ":" à incorporer dans le code vba. C'est de la syntaxe mais je n'arrive pas à trouver malgré de nombreux essais.
Je fais mon maximum pour la clarté des question, excuse.
Steph
je ne connaissais pas la fenêtre espion, j'ai découvert vba il y a 3 semaines et je n'ai pas encore toutes les ficelles.
Encore un grand merci à tous les contributeurs !!