Décomposer le texte "sVar1=1 or sVar2 = 3" en calcul
4 réponses
Alex St-Pierre
Bonjour!
Est-il possible de mettre une fonction du style avec sCondition = une
équation logique inscrite sous forme de string et qui est convertie en calcul
pour revoyer Vrai ou Faux?
Merci !
Alex
Ex:
Sub Text()
call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3")
End Sub
Function AjoutTexte(sText as String, sCondition as string)
'??? Comment savoir si sCondition est rempli?
If sCondition = True Then
oRange.InsertAfter sText
End If
End Function
--
Alex St-Pierre
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Penet
Par exemple :
Sub Text() If AjoutTexte("Mon texte conditionnel",sVar) = True Then 'Ta bidouille perso End If End Sub 'Le call est inutile
Function AjoutTexte(sText as String, sCondition as string) As Boolean Select Case sCondition Case "1" oRange.InsertAfter sText1 AjoutTexte = True Case "2" oRange.InsertAfter sText2 AjoutTexte = True Case "3" oRange.InsertAfter sText3 AjoutTexte = True Case Else : AjoutTexte = False End Select End Function
Cdlt. P.
"Alex St-Pierre" a écrit dans le message de news:
Bonjour! Est-il possible de mettre une fonction du style avec sCondition = une équation logique inscrite sous forme de string et qui est convertie en calcul pour revoyer Vrai ou Faux? Merci ! Alex Ex: Sub Text() call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3") End Sub Function AjoutTexte(sText as String, sCondition as string) '??? Comment savoir si sCondition est rempli? If sCondition = True Then oRange.InsertAfter sText End If End Function -- Alex St-Pierre
Par exemple :
Sub Text()
If AjoutTexte("Mon texte conditionnel",sVar) = True Then
'Ta bidouille perso
End If
End Sub
'Le call est inutile
Function AjoutTexte(sText as String, sCondition as string) As Boolean
Select Case sCondition
Case "1"
oRange.InsertAfter sText1
AjoutTexte = True
Case "2"
oRange.InsertAfter sText2
AjoutTexte = True
Case "3"
oRange.InsertAfter sText3
AjoutTexte = True
Case Else : AjoutTexte = False
End Select
End Function
Cdlt.
P.
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
5F7DDAD1-BB5C-4F60-A47E-DE20F05F4227@microsoft.com...
Bonjour!
Est-il possible de mettre une fonction du style avec sCondition = une
équation logique inscrite sous forme de string et qui est convertie en calcul
pour revoyer Vrai ou Faux?
Merci !
Alex
Ex:
Sub Text()
call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3")
End Sub
Function AjoutTexte(sText as String, sCondition as string)
'??? Comment savoir si sCondition est rempli?
If sCondition = True Then
oRange.InsertAfter sText
End If
End Function
--
Alex St-Pierre
Sub Text() If AjoutTexte("Mon texte conditionnel",sVar) = True Then 'Ta bidouille perso End If End Sub 'Le call est inutile
Function AjoutTexte(sText as String, sCondition as string) As Boolean Select Case sCondition Case "1" oRange.InsertAfter sText1 AjoutTexte = True Case "2" oRange.InsertAfter sText2 AjoutTexte = True Case "3" oRange.InsertAfter sText3 AjoutTexte = True Case Else : AjoutTexte = False End Select End Function
Cdlt. P.
"Alex St-Pierre" a écrit dans le message de news:
Bonjour! Est-il possible de mettre une fonction du style avec sCondition = une équation logique inscrite sous forme de string et qui est convertie en calcul pour revoyer Vrai ou Faux? Merci ! Alex Ex: Sub Text() call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3") End Sub Function AjoutTexte(sText as String, sCondition as string) '??? Comment savoir si sCondition est rempli? If sCondition = True Then oRange.InsertAfter sText End If End Function -- Alex St-Pierre
Anacoluthe
Bonjour !
'Alex St-Pierre' nous a écrit ...
Est-il possible de mettre une fonction du style avec sCondition = une équation logique inscrite sous forme de string et qui est convertie en calcul pour revoyer Vrai ou Faux? Merci ! Alex Ex: Sub Text() call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3") End Sub Function AjoutTexte(sText as String, sCondition as string) '??? Comment savoir si sCondition est rempli? If sCondition = True Then oRange.InsertAfter sText End If End Function
Il est fort probable que vous compliquez la vie inutilement !!!
Ou alors expliquez-nous pourquoi vouloir évaluer une expression vb dans une /chaîne/ vb . Utilisez vos expressions simplement, SANS guillemets !
Sub AjoutTexte(sText as String, Condition as Boolean) If Condition = True Then oRange.InsertAfter sText End If
Anacoluthe « Il est très difficile d'imaginer quelque chose de simple. » - Pierre MAC ORLAN
Bonjour !
'Alex St-Pierre' nous a écrit ...
Est-il possible de mettre une fonction du style avec sCondition = une
équation logique inscrite sous forme de string et qui est convertie en calcul
pour revoyer Vrai ou Faux?
Merci !
Alex
Ex:
Sub Text()
call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3")
End Sub
Function AjoutTexte(sText as String, sCondition as string)
'??? Comment savoir si sCondition est rempli?
If sCondition = True Then
oRange.InsertAfter sText
End If
End Function
Il est fort probable que vous compliquez la vie inutilement !!!
Ou alors expliquez-nous pourquoi vouloir évaluer une expression vb
dans une /chaîne/ vb . Utilisez vos expressions simplement,
SANS guillemets !
Est-il possible de mettre une fonction du style avec sCondition = une équation logique inscrite sous forme de string et qui est convertie en calcul pour revoyer Vrai ou Faux? Merci ! Alex Ex: Sub Text() call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3") End Sub Function AjoutTexte(sText as String, sCondition as string) '??? Comment savoir si sCondition est rempli? If sCondition = True Then oRange.InsertAfter sText End If End Function
Il est fort probable que vous compliquez la vie inutilement !!!
Ou alors expliquez-nous pourquoi vouloir évaluer une expression vb dans une /chaîne/ vb . Utilisez vos expressions simplement, SANS guillemets !
Sub AjoutTexte(sText as String, Condition as Boolean) If Condition = True Then oRange.InsertAfter sText End If
Anacoluthe « Il est très difficile d'imaginer quelque chose de simple. » - Pierre MAC ORLAN
Alex St-Pierre
Bonjour Anacoluthe! Je crois que mettre la formule dans la condition en boolean est une très bonne idée! Est-ce qu'il est possible d'avoir accès au string de la condition qui renvoie vrai ou dois-je l'inclure dans un autre argument? ex: Call AjoutTexte(sText as String, Var1 = 1 or Var2 = 3, "Var1 = 1 or Var2 = 3") Le but de tout ça, c'est de mettre un flag dans le fichier word qui va me permettre de générer tous les textes dans Word peut-importe les conditions. Cela va créer un document modèle qui va servir de référence pour savoir pourquoi certains textes ne s'affichent pas. Donc, en utilisant une fonction, si le flag est à 1, je vais imprimer: "Var1 = 1 or Var2 = 3": => Texte etc. Merci ! Alex
Autre question: Pour sauter de paragraphe à paragraphe, est-il préférable de compte les paragraphes avec iP ou se dire que le paragraphe est toujours le dernier et mettre oRange.InsertAfter Chr(13) Set oRange = docWord.Paragraphs(docWord.Paragraphs.Count).Range vs Sub NextParagraph(myStyle As String, Optional iSpaceBefore As Integer, Optional iSpaceAfter As Integer, Optional iNextPage As Integer = 0) iP = iP + 1 oRange.InsertAfter Chr(13) Set oRange = docWord.Paragraphs(iP).Range If iNextPage = 1 Then oRange.InsertBreak Type:=wdPageBreak: iP = docWord.Paragraphs.Count: Set oRange = docWord.Paragraphs(iP).Range Call ParagraphStyle(myStyle, iSpaceBefore, iSpaceAfter) If iP <> docWord.Paragraphs.Count Then MsgBox ("Erreur: numéro de paragraphe") End Sub -- Alex St-Pierre
"Anacoluthe" wrote:
Bonjour !
'Alex St-Pierre' nous a écrit ...
Est-il possible de mettre une fonction du style avec sCondition = une équation logique inscrite sous forme de string et qui est convertie en calcul pour revoyer Vrai ou Faux? Merci ! Alex Ex: Sub Text() call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3") End Sub Function AjoutTexte(sText as String, sCondition as string) '??? Comment savoir si sCondition est rempli? If sCondition = True Then oRange.InsertAfter sText End If End Function
Il est fort probable que vous compliquez la vie inutilement !!!
Ou alors expliquez-nous pourquoi vouloir évaluer une expression vb dans une /chaîne/ vb . Utilisez vos expressions simplement, SANS guillemets !
Sub AjoutTexte(sText as String, Condition as Boolean) If Condition = True Then oRange.InsertAfter sText End If
Anacoluthe « Il est très difficile d'imaginer quelque chose de simple. » - Pierre MAC ORLAN
Bonjour Anacoluthe!
Je crois que mettre la formule dans la condition en boolean est une très
bonne idée! Est-ce qu'il est possible d'avoir accès au string de la condition
qui renvoie vrai ou dois-je l'inclure dans un autre argument?
ex: Call AjoutTexte(sText as String, Var1 = 1 or Var2 = 3, "Var1 = 1 or Var2
= 3")
Le but de tout ça, c'est de mettre un flag dans le fichier word qui va me
permettre de générer tous les textes dans Word peut-importe les conditions.
Cela va créer un document modèle qui va servir de référence pour savoir
pourquoi certains textes ne s'affichent pas. Donc, en utilisant une fonction,
si le flag est à 1, je vais imprimer:
"Var1 = 1 or Var2 = 3": => Texte
etc.
Merci !
Alex
Autre question:
Pour sauter de paragraphe à paragraphe, est-il préférable de compte les
paragraphes avec iP ou se dire que le paragraphe est toujours le dernier et
mettre
oRange.InsertAfter Chr(13)
Set oRange = docWord.Paragraphs(docWord.Paragraphs.Count).Range
vs
Sub NextParagraph(myStyle As String, Optional iSpaceBefore As Integer,
Optional iSpaceAfter As Integer, Optional iNextPage As Integer = 0)
iP = iP + 1
oRange.InsertAfter Chr(13)
Set oRange = docWord.Paragraphs(iP).Range
If iNextPage = 1 Then oRange.InsertBreak Type:=wdPageBreak: iP =
docWord.Paragraphs.Count: Set oRange = docWord.Paragraphs(iP).Range
Call ParagraphStyle(myStyle, iSpaceBefore, iSpaceAfter)
If iP <> docWord.Paragraphs.Count Then MsgBox ("Erreur: numéro de
paragraphe")
End Sub
--
Alex St-Pierre
"Anacoluthe" wrote:
Bonjour !
'Alex St-Pierre' nous a écrit ...
Est-il possible de mettre une fonction du style avec sCondition = une
équation logique inscrite sous forme de string et qui est convertie en calcul
pour revoyer Vrai ou Faux?
Merci !
Alex
Ex:
Sub Text()
call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3")
End Sub
Function AjoutTexte(sText as String, sCondition as string)
'??? Comment savoir si sCondition est rempli?
If sCondition = True Then
oRange.InsertAfter sText
End If
End Function
Il est fort probable que vous compliquez la vie inutilement !!!
Ou alors expliquez-nous pourquoi vouloir évaluer une expression vb
dans une /chaîne/ vb . Utilisez vos expressions simplement,
SANS guillemets !
Bonjour Anacoluthe! Je crois que mettre la formule dans la condition en boolean est une très bonne idée! Est-ce qu'il est possible d'avoir accès au string de la condition qui renvoie vrai ou dois-je l'inclure dans un autre argument? ex: Call AjoutTexte(sText as String, Var1 = 1 or Var2 = 3, "Var1 = 1 or Var2 = 3") Le but de tout ça, c'est de mettre un flag dans le fichier word qui va me permettre de générer tous les textes dans Word peut-importe les conditions. Cela va créer un document modèle qui va servir de référence pour savoir pourquoi certains textes ne s'affichent pas. Donc, en utilisant une fonction, si le flag est à 1, je vais imprimer: "Var1 = 1 or Var2 = 3": => Texte etc. Merci ! Alex
Autre question: Pour sauter de paragraphe à paragraphe, est-il préférable de compte les paragraphes avec iP ou se dire que le paragraphe est toujours le dernier et mettre oRange.InsertAfter Chr(13) Set oRange = docWord.Paragraphs(docWord.Paragraphs.Count).Range vs Sub NextParagraph(myStyle As String, Optional iSpaceBefore As Integer, Optional iSpaceAfter As Integer, Optional iNextPage As Integer = 0) iP = iP + 1 oRange.InsertAfter Chr(13) Set oRange = docWord.Paragraphs(iP).Range If iNextPage = 1 Then oRange.InsertBreak Type:=wdPageBreak: iP = docWord.Paragraphs.Count: Set oRange = docWord.Paragraphs(iP).Range Call ParagraphStyle(myStyle, iSpaceBefore, iSpaceAfter) If iP <> docWord.Paragraphs.Count Then MsgBox ("Erreur: numéro de paragraphe") End Sub -- Alex St-Pierre
"Anacoluthe" wrote:
Bonjour !
'Alex St-Pierre' nous a écrit ...
Est-il possible de mettre une fonction du style avec sCondition = une équation logique inscrite sous forme de string et qui est convertie en calcul pour revoyer Vrai ou Faux? Merci ! Alex Ex: Sub Text() call AjoutTexte("Mon texte conditionnel","sVar1=1 or sVar2 = 3") End Sub Function AjoutTexte(sText as String, sCondition as string) '??? Comment savoir si sCondition est rempli? If sCondition = True Then oRange.InsertAfter sText End If End Function
Il est fort probable que vous compliquez la vie inutilement !!!
Ou alors expliquez-nous pourquoi vouloir évaluer une expression vb dans une /chaîne/ vb . Utilisez vos expressions simplement, SANS guillemets !
Sub AjoutTexte(sText as String, Condition as Boolean) If Condition = True Then oRange.InsertAfter sText End If
Anacoluthe « Il est très difficile d'imaginer quelque chose de simple. » - Pierre MAC ORLAN
Anacoluthe
Bonjour !
'Alex St-Pierre' nous a écrit ...
Je crois que mettre la formule dans la condition en boolean est une très bonne idée! Est-ce qu'il est possible d'avoir accès au string de la condition qui renvoie vrai ou dois-je l'inclure dans un autre argument? ex: Call AjoutTexte(sText as String, Var1 = 1 or Var2 = 3, "Var1 = 1 or Var2 = 3") Le but de tout ça, c'est de mettre un flag dans le fichier word qui va me permettre de générer tous les textes dans Word peut-importe les conditions. Cela va créer un document modèle qui va servir de référence pour savoir pourquoi certains textes ne s'affichent pas. Donc, en utilisant une fonction, si le flag est à 1, je vais imprimer: "Var1 = 1 or Var2 = 3": => Texte
Euh désolé, je ne comprends toujours pas votre cheminement... :-p
Quel intérêt de mettre en argument d'une procédure une chaîne qui ne sert à rien ? Si vous voulez que votre texte rappelle les valeurs des tests, inscrivez-les en clair tout simplement !!!
.InsertAfter "Var1 =" & Var1 & " et Var2=" & Var2 & " donc j'écris..."
Autre question: Pour sauter de paragraphe à paragraphe, est-il préférable de compte les paragraphes avec iP ou se dire que le paragraphe est toujours le dernier et mettre oRange.InsertAfter Chr(13) Set oRange = docWord.Paragraphs(docWord.Paragraphs.Count).Range vs Sub NextParagraph(myStyle As String, Optional iSpaceBefore As Integer, Optional iSpaceAfter As Integer, Optional iNextPage As Integer = 0) iP = iP + 1 oRange.InsertAfter Chr(13) Set oRange = docWord.Paragraphs(iP).Range If iNextPage = 1 Then oRange.InsertBreak Type:=wdPageBreak: iP = docWord.Paragraphs.Count: Set oRange = docWord.Paragraphs(iP).Range Call ParagraphStyle(myStyle, iSpaceBefore, iSpaceAfter) If iP <> docWord.Paragraphs.Count Then MsgBox ("Erreur: numéro de paragraphe") End Sub
Re Euh, je ne comprends rien de votre objectif :-[ Tout ce code en l'état me semble bourré d'erreurs. Désolé, pouvez-vous préciser un peu ce que vous cherchez ?
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS
Bonjour !
'Alex St-Pierre' nous a écrit ...
Je crois que mettre la formule dans la condition en boolean est une très
bonne idée! Est-ce qu'il est possible d'avoir accès au string de la condition
qui renvoie vrai ou dois-je l'inclure dans un autre argument?
ex: Call AjoutTexte(sText as String, Var1 = 1 or Var2 = 3, "Var1 = 1 or Var2
= 3")
Le but de tout ça, c'est de mettre un flag dans le fichier word qui va me
permettre de générer tous les textes dans Word peut-importe les conditions.
Cela va créer un document modèle qui va servir de référence pour savoir
pourquoi certains textes ne s'affichent pas. Donc, en utilisant une fonction,
si le flag est à 1, je vais imprimer:
"Var1 = 1 or Var2 = 3": => Texte
Euh désolé, je ne comprends toujours pas votre cheminement... :-p
Quel intérêt de mettre en argument d'une procédure une chaîne
qui ne sert à rien ? Si vous voulez que votre texte rappelle
les valeurs des tests, inscrivez-les en clair tout simplement !!!
.InsertAfter "Var1 =" & Var1 & " et Var2=" & Var2 & " donc j'écris..."
Autre question:
Pour sauter de paragraphe à paragraphe, est-il préférable de compte les
paragraphes avec iP ou se dire que le paragraphe est toujours le dernier et
mettre
oRange.InsertAfter Chr(13)
Set oRange = docWord.Paragraphs(docWord.Paragraphs.Count).Range
vs
Sub NextParagraph(myStyle As String, Optional iSpaceBefore As Integer,
Optional iSpaceAfter As Integer, Optional iNextPage As Integer = 0)
iP = iP + 1
oRange.InsertAfter Chr(13)
Set oRange = docWord.Paragraphs(iP).Range
If iNextPage = 1 Then oRange.InsertBreak Type:=wdPageBreak: iP =
docWord.Paragraphs.Count: Set oRange = docWord.Paragraphs(iP).Range
Call ParagraphStyle(myStyle, iSpaceBefore, iSpaceAfter)
If iP <> docWord.Paragraphs.Count Then MsgBox ("Erreur: numéro de
paragraphe")
End Sub
Re Euh, je ne comprends rien de votre objectif :-[
Tout ce code en l'état me semble bourré d'erreurs.
Désolé, pouvez-vous préciser un peu ce que vous cherchez ?
Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »
- CONFUCIUS
Je crois que mettre la formule dans la condition en boolean est une très bonne idée! Est-ce qu'il est possible d'avoir accès au string de la condition qui renvoie vrai ou dois-je l'inclure dans un autre argument? ex: Call AjoutTexte(sText as String, Var1 = 1 or Var2 = 3, "Var1 = 1 or Var2 = 3") Le but de tout ça, c'est de mettre un flag dans le fichier word qui va me permettre de générer tous les textes dans Word peut-importe les conditions. Cela va créer un document modèle qui va servir de référence pour savoir pourquoi certains textes ne s'affichent pas. Donc, en utilisant une fonction, si le flag est à 1, je vais imprimer: "Var1 = 1 or Var2 = 3": => Texte
Euh désolé, je ne comprends toujours pas votre cheminement... :-p
Quel intérêt de mettre en argument d'une procédure une chaîne qui ne sert à rien ? Si vous voulez que votre texte rappelle les valeurs des tests, inscrivez-les en clair tout simplement !!!
.InsertAfter "Var1 =" & Var1 & " et Var2=" & Var2 & " donc j'écris..."
Autre question: Pour sauter de paragraphe à paragraphe, est-il préférable de compte les paragraphes avec iP ou se dire que le paragraphe est toujours le dernier et mettre oRange.InsertAfter Chr(13) Set oRange = docWord.Paragraphs(docWord.Paragraphs.Count).Range vs Sub NextParagraph(myStyle As String, Optional iSpaceBefore As Integer, Optional iSpaceAfter As Integer, Optional iNextPage As Integer = 0) iP = iP + 1 oRange.InsertAfter Chr(13) Set oRange = docWord.Paragraphs(iP).Range If iNextPage = 1 Then oRange.InsertBreak Type:=wdPageBreak: iP = docWord.Paragraphs.Count: Set oRange = docWord.Paragraphs(iP).Range Call ParagraphStyle(myStyle, iSpaceBefore, iSpaceAfter) If iP <> docWord.Paragraphs.Count Then MsgBox ("Erreur: numéro de paragraphe") End Sub
Re Euh, je ne comprends rien de votre objectif :-[ Tout ce code en l'état me semble bourré d'erreurs. Désolé, pouvez-vous préciser un peu ce que vous cherchez ?
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS