Dans un publipostage, est-il possible d'écrire un texte dans une cellule
d'un tableau en fonction du premier caractère alphabétique provenant d'un
champ "NOM" ?
Quelques infos :
objectif : créer des fiches pour un annuaire personel
version office 2000 à jour.
tableau excel contenant les entrées "NOM", "Prénom"...
page de fusion (catalogue) word avec une première ligne d'un tableau de 8
cases.
la première case doit contenir les lettres ABC si le premier caractère du
champ Nom est un A, une B ou un C. D'où l'idée d'un champ {IF...}
Dans un publipostage, est-il possible d'écrire un texte dans une cellule d'un tableau en fonction du premier caractère alphabétique provenant d'un champ "NOM" ? Quelques infos : objectif : créer des fiches pour un annuaire personel version office 2000 à jour. tableau excel contenant les entrées "NOM", "Prénom"... page de fusion (catalogue) word avec une première ligne d'un tableau de 8 cases. la première case doit contenir les lettres ABC si le premier caractère du champ Nom est un A, une B ou un C. D'où l'idée d'un champ {IF...}
Le mieux est de prévoir un champ supplémentaire dans ton tableau Excel pour traiter simplement cette donnée dans le publipostage Word !!!
Maintenant si tu veux /absolument/ faire ça dans Word (?!?), il faut savoir qu'il n'y a pas de fonction d'extraction de chaînes dans les champs Word. Il faut donc utiliser les fonctions de comparaison, ce qui va te donner des champs IF imbriqués épouvantables du genre : { IF { MERGEFIELD Nom } < "D" "ABC" " { IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } } Si tu classes ton ordre alphabétique 3 par 3 ça va encore avec les 9 niveaux d'imbrications des champs. Sinon il faut passer par des signets et traiter en plusieurs champs disjoints.
C'était juste histoire de dire que c'est /possible/ dans Word mais pour mieux t'en dissuder ! :-D )))
A+ et bonne fin de semaine
Anacoluthe « Bienheureux les travailleurs des champs. » - VIRGILE
Bonjour Petit Denis !
'Petit Denis' nous a écrit ...
Dans un publipostage, est-il possible d'écrire un texte dans une cellule
d'un tableau en fonction du premier caractère alphabétique provenant
d'un champ "NOM" ?
Quelques infos :
objectif : créer des fiches pour un annuaire personel
version office 2000 à jour.
tableau excel contenant les entrées "NOM", "Prénom"...
page de fusion (catalogue) word avec une première ligne d'un tableau de
8 cases.
la première case doit contenir les lettres ABC si le premier caractère
du champ Nom est un A, une B ou un C. D'où l'idée d'un champ {IF...}
Le mieux est de prévoir un champ supplémentaire dans ton tableau Excel
pour traiter simplement cette donnée dans le publipostage Word !!!
Maintenant si tu veux /absolument/ faire ça dans Word (?!?), il faut
savoir qu'il n'y a pas de fonction d'extraction de chaînes dans les
champs Word. Il faut donc utiliser les fonctions de comparaison, ce qui
va te donner des champs IF imbriqués épouvantables du genre :
{ IF { MERGEFIELD Nom } < "D" "ABC" "
{ IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Si tu classes ton ordre alphabétique 3 par 3 ça va encore avec
les 9 niveaux d'imbrications des champs. Sinon il faut passer par
des signets et traiter en plusieurs champs disjoints.
C'était juste histoire de dire que c'est /possible/ dans Word
mais pour mieux t'en dissuder ! :-D )))
A+ et bonne fin de semaine
Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE
Dans un publipostage, est-il possible d'écrire un texte dans une cellule d'un tableau en fonction du premier caractère alphabétique provenant d'un champ "NOM" ? Quelques infos : objectif : créer des fiches pour un annuaire personel version office 2000 à jour. tableau excel contenant les entrées "NOM", "Prénom"... page de fusion (catalogue) word avec une première ligne d'un tableau de 8 cases. la première case doit contenir les lettres ABC si le premier caractère du champ Nom est un A, une B ou un C. D'où l'idée d'un champ {IF...}
Le mieux est de prévoir un champ supplémentaire dans ton tableau Excel pour traiter simplement cette donnée dans le publipostage Word !!!
Maintenant si tu veux /absolument/ faire ça dans Word (?!?), il faut savoir qu'il n'y a pas de fonction d'extraction de chaînes dans les champs Word. Il faut donc utiliser les fonctions de comparaison, ce qui va te donner des champs IF imbriqués épouvantables du genre : { IF { MERGEFIELD Nom } < "D" "ABC" " { IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } } Si tu classes ton ordre alphabétique 3 par 3 ça va encore avec les 9 niveaux d'imbrications des champs. Sinon il faut passer par des signets et traiter en plusieurs champs disjoints.
C'était juste histoire de dire que c'est /possible/ dans Word mais pour mieux t'en dissuder ! :-D )))
A+ et bonne fin de semaine
Anacoluthe « Bienheureux les travailleurs des champs. » - VIRGILE
Petit Denis
Rebonsoir Anacoluthe wrote:
Bonjour Petit Denis !
Le mieux est de prévoir un champ supplémentaire dans ton tableau Excel pour traiter simplement cette donnée dans le publipostage Word !!!
Je m'orientais vers cette solution plus simple...
Maintenant si tu veux /absolument/ faire ça dans Word (?!?), il faut savoir qu'il n'y a pas de fonction d'extraction de chaînes dans les champs Word. Il faut donc utiliser les fonctions de comparaison, ce qui va te donner des champs IF imbriqués épouvantables du genre : { IF { MERGEFIELD Nom } < "D" "ABC" " { IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Je vais quand même tester cela puisque je reste sur 8 niveaux (voir les touches du téléphone pour les regoupements !) Ça me rappelle un calcul sous excel pour afficher la mention obtenue au bac blanc par nos chères têtes blondes : plein de si imbriqués = jolie formule, faut pas se gourrer)
Si tu classes ton ordre alphabétique 3 par 3 ça va encore avec les 9 niveaux d'imbrications des champs. Sinon il faut passer par des signets et traiter en plusieurs champs disjoints.
C'était juste histoire de dire que c'est /possible/ dans Word mais pour mieux t'en dissuder ! :-D )))
Je teste, et je raconte mes errements...
A+ et bonne fin de semaine
Merci
Anacoluthe « Bienheureux les travailleurs des champs. » - VIRGILE
-- Petit Denis
Rebonsoir
Anacoluthe wrote:
Bonjour Petit Denis !
Le mieux est de prévoir un champ supplémentaire dans ton tableau Excel
pour traiter simplement cette donnée dans le publipostage Word !!!
Je m'orientais vers cette solution plus simple...
Maintenant si tu veux /absolument/ faire ça dans Word (?!?), il faut
savoir qu'il n'y a pas de fonction d'extraction de chaînes dans les
champs Word. Il faut donc utiliser les fonctions de comparaison, ce
qui va te donner des champs IF imbriqués épouvantables du genre :
{ IF { MERGEFIELD Nom } < "D" "ABC" "
{ IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Je vais quand même tester cela puisque je reste sur 8 niveaux (voir les
touches du téléphone pour les regoupements !)
Ça me rappelle un calcul sous excel pour afficher la mention obtenue au bac
blanc par nos chères têtes blondes : plein de si imbriqués = jolie formule,
faut pas se gourrer)
Si tu classes ton ordre alphabétique 3 par 3 ça va encore avec
les 9 niveaux d'imbrications des champs. Sinon il faut passer par
des signets et traiter en plusieurs champs disjoints.
C'était juste histoire de dire que c'est /possible/ dans Word
mais pour mieux t'en dissuder ! :-D )))
Je teste, et je raconte mes errements...
A+ et bonne fin de semaine
Merci
Anacoluthe
« Bienheureux les travailleurs des champs. »
- VIRGILE
Le mieux est de prévoir un champ supplémentaire dans ton tableau Excel pour traiter simplement cette donnée dans le publipostage Word !!!
Je m'orientais vers cette solution plus simple...
Maintenant si tu veux /absolument/ faire ça dans Word (?!?), il faut savoir qu'il n'y a pas de fonction d'extraction de chaînes dans les champs Word. Il faut donc utiliser les fonctions de comparaison, ce qui va te donner des champs IF imbriqués épouvantables du genre : { IF { MERGEFIELD Nom } < "D" "ABC" " { IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Je vais quand même tester cela puisque je reste sur 8 niveaux (voir les touches du téléphone pour les regoupements !) Ça me rappelle un calcul sous excel pour afficher la mention obtenue au bac blanc par nos chères têtes blondes : plein de si imbriqués = jolie formule, faut pas se gourrer)
Si tu classes ton ordre alphabétique 3 par 3 ça va encore avec les 9 niveaux d'imbrications des champs. Sinon il faut passer par des signets et traiter en plusieurs champs disjoints.
C'était juste histoire de dire que c'est /possible/ dans Word mais pour mieux t'en dissuder ! :-D )))
Je teste, et je raconte mes errements...
A+ et bonne fin de semaine
Merci
Anacoluthe « Bienheureux les travailleurs des champs. » - VIRGILE
-- Petit Denis
Anacoluthe
Bonjour !
'Petit Denis' nous a écrit ...
{ IF { MERGEFIELD Nom } < "D" "ABC" " { IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Je vais quand même tester cela
Naaaaaaaaaaaannnnnnnn ! C'est tellement plus simple dans EXCEL !!!!!! Tu ajoutes dans ta feuille XL une colonne disons 'Onglet' Tu places dans la première valeur de cette colonne une formule =ONGLET(A2) (la colonne A contient le NOM par exemple) Tu copies-glisses cette formule sur toute la colonne et voilà tu utilises le champ Onglet dans ton publipostage sans te casser la tête dans Word qui est nul en calculs.
Quant à la fonction ONGLET() ci-dessus, pas besoin d'être un crack d'Excel. En voici une version bricolée vite fait (tu dis rien aux Excellents, ils vont rire) :
Public Function ONGLET(C As String) As String D = Int((Asc(UCase(Left(LTrim(C), 1))) - 65) / 3) * 3 + 1 ONGLET = Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ ", D, 3) End Function
Bon dimanche !
Anacoluthe « Si tout ici-bas était excellent, il ny aurait plus rien dexcellent » - Denis DIDEROT
Bonjour !
'Petit Denis' nous a écrit ...
{ IF { MERGEFIELD Nom } < "D" "ABC" "
{ IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Je vais quand même tester cela
Naaaaaaaaaaaannnnnnnn ! C'est tellement plus simple dans EXCEL !!!!!!
Tu ajoutes dans ta feuille XL une colonne disons 'Onglet'
Tu places dans la première valeur de cette colonne une formule
=ONGLET(A2) (la colonne A contient le NOM par exemple)
Tu copies-glisses cette formule sur toute la colonne
et voilà tu utilises le champ Onglet dans ton publipostage
sans te casser la tête dans Word qui est nul en calculs.
Quant à la fonction ONGLET() ci-dessus, pas besoin
d'être un crack d'Excel. En voici une version bricolée
vite fait (tu dis rien aux Excellents, ils vont rire) :
Public Function ONGLET(C As String) As String
D = Int((Asc(UCase(Left(LTrim(C), 1))) - 65) / 3) * 3 + 1
ONGLET = Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ ", D, 3)
End Function
Bon dimanche !
Anacoluthe
« Si tout ici-bas était excellent,
il ny aurait plus rien dexcellent »
- Denis DIDEROT
{ IF { MERGEFIELD Nom } < "D" "ABC" " { IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Je vais quand même tester cela
Naaaaaaaaaaaannnnnnnn ! C'est tellement plus simple dans EXCEL !!!!!! Tu ajoutes dans ta feuille XL une colonne disons 'Onglet' Tu places dans la première valeur de cette colonne une formule =ONGLET(A2) (la colonne A contient le NOM par exemple) Tu copies-glisses cette formule sur toute la colonne et voilà tu utilises le champ Onglet dans ton publipostage sans te casser la tête dans Word qui est nul en calculs.
Quant à la fonction ONGLET() ci-dessus, pas besoin d'être un crack d'Excel. En voici une version bricolée vite fait (tu dis rien aux Excellents, ils vont rire) :
Public Function ONGLET(C As String) As String D = Int((Asc(UCase(Left(LTrim(C), 1))) - 65) / 3) * 3 + 1 ONGLET = Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ ", D, 3) End Function
Bon dimanche !
Anacoluthe « Si tout ici-bas était excellent, il ny aurait plus rien dexcellent » - Denis DIDEROT
Petit Denis
Rebonjour Anacoluthe wrote:
Bonjour !
'Petit Denis' nous a écrit ...
{ IF { MERGEFIELD Nom } < "D" "ABC" " { IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Je vais quand même tester cela
Naaaaaaaaaaaannnnnnnn ! C'est tellement plus simple dans EXCEL !!!!!! Tu ajoutes dans ta feuille XL une colonne disons 'Onglet' Tu places dans la première valeur de cette colonne une formule =ONGLET(A2) (la colonne A contient le NOM par exemple) Tu copies-glisses cette formule sur toute la colonne et voilà tu utilises le champ Onglet dans ton publipostage sans te casser la tête dans Word qui est nul en calculs.
Quant à la fonction ONGLET() ci-dessus, pas besoin d'être un crack d'Excel. En voici une version bricolée vite fait (tu dis rien aux Excellents, ils vont rire) :
Public Function ONGLET(C As String) As String D = Int((Asc(UCase(Left(LTrim(C), 1))) - 65) / 3) * 3 + 1 ONGLET = Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ ", D, 3) End Function
*Voie de recherche A* dans excel
Bon ça j'ai réussi après quelques errements... (trouver que A = 65 et Z = 90 notamment !) Mais cela fait un tri systématique avec 3 lettres, or je souhaiterais retrouver le classement des touches téléphoniques : touche 2 : ABC touche 3 : DEF touche 4 : GHI touche 5 : JKL touche 6 : MNO touche 7 : PQRS (4 lettres) touche 8 : TUV touche 9 : WXYZ Et ensuite, je remplis un des 8 cellules avec les 3 ou 4 lettres et les autres ne contiennent rien.
J'ai testé cela : Public Function ONGLET(C As String) As String D = Int((Asc(UCase(Left(LTrim(C), 1))) - 65) / 3) * 3 + 1 ONGLET = Mid("ABC DEF GHI JKL MNO PQRSTUV WXYZ", D, 4) End Function Pour faire des groupes de 4 caractères (3 lettres + espaces ou 4 lettres) mais les espaces ne sont correctement gérés.
*Voie de recherche D* dans word
La première case et la dernière fonctionnent bien avec les champs suivants : { If { Mergefield NOM } <"D" "ABC" ""} pour la première cellule { If { Mergefield NOM } >="W" "WXYZ" ""} pour la dernière cellule
Je bute sur les 6 autres : Le champ suivant : {=and ({If {Mergefield NOM}>="D"} , {If {Mergefield NOM}<"F") "DEF" ""} me renvoie une erreur de syntaxe (j'ai remplacé /and/ par /et/ mais marche pas non plus) En fait le travail semble plus simple puisque chaque cellule ne peut prendre que deux valeurs : "Lettres" ou "rien", il ne m'est donc pas nécessaire d'imbriquer les if les uns dans les autres.
Le résultat après impression et découpage va ressembler aux pages d'un répertoire avec des onglets (sans échalottes lol )
-- Petit Denis "Jeune Champeur"
Rebonjour
Anacoluthe wrote:
Bonjour !
'Petit Denis' nous a écrit ...
{ IF { MERGEFIELD Nom } < "D" "ABC" "
{ IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Je vais quand même tester cela
Naaaaaaaaaaaannnnnnnn ! C'est tellement plus simple dans EXCEL !!!!!!
Tu ajoutes dans ta feuille XL une colonne disons 'Onglet'
Tu places dans la première valeur de cette colonne une formule
=ONGLET(A2) (la colonne A contient le NOM par exemple)
Tu copies-glisses cette formule sur toute la colonne
et voilà tu utilises le champ Onglet dans ton publipostage
sans te casser la tête dans Word qui est nul en calculs.
Quant à la fonction ONGLET() ci-dessus, pas besoin
d'être un crack d'Excel. En voici une version bricolée
vite fait (tu dis rien aux Excellents, ils vont rire) :
Public Function ONGLET(C As String) As String
D = Int((Asc(UCase(Left(LTrim(C), 1))) - 65) / 3) * 3 + 1
ONGLET = Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ ", D, 3)
End Function
*Voie de recherche A* dans excel
Bon ça j'ai réussi après quelques errements... (trouver que A = 65 et Z = 90
notamment !)
Mais cela fait un tri systématique avec 3 lettres, or je souhaiterais
retrouver le classement des touches téléphoniques :
touche 2 : ABC
touche 3 : DEF
touche 4 : GHI
touche 5 : JKL
touche 6 : MNO
touche 7 : PQRS (4 lettres)
touche 8 : TUV
touche 9 : WXYZ
Et ensuite, je remplis un des 8 cellules avec les 3 ou 4 lettres et les
autres ne contiennent rien.
J'ai testé cela :
Public Function ONGLET(C As String) As String
D = Int((Asc(UCase(Left(LTrim(C), 1))) - 65) / 3) * 3 + 1
ONGLET = Mid("ABC DEF GHI JKL MNO PQRSTUV WXYZ", D, 4)
End Function
Pour faire des groupes de 4 caractères (3 lettres + espaces ou 4 lettres)
mais les espaces ne sont correctement gérés.
*Voie de recherche D* dans word
La première case et la dernière fonctionnent bien avec les champs suivants :
{ If { Mergefield NOM } <"D" "ABC" ""} pour la première cellule
{ If { Mergefield NOM } >="W" "WXYZ" ""} pour la dernière cellule
Je bute sur les 6 autres :
Le champ suivant :
{=and ({If {Mergefield NOM}>="D"} , {If {Mergefield NOM}<"F") "DEF" ""}
me renvoie une erreur de syntaxe (j'ai remplacé /and/ par /et/ mais marche
pas non plus)
En fait le travail semble plus simple puisque chaque cellule ne peut prendre
que deux valeurs :
"Lettres" ou "rien", il ne m'est donc pas nécessaire d'imbriquer les if les
uns dans les autres.
Le résultat après impression et découpage va ressembler aux pages d'un
répertoire avec des onglets (sans échalottes lol )
{ IF { MERGEFIELD Nom } < "D" "ABC" " { IF { MERGEFIELD Nom } < "G" "DEF" "..." }" } }
Je vais quand même tester cela
Naaaaaaaaaaaannnnnnnn ! C'est tellement plus simple dans EXCEL !!!!!! Tu ajoutes dans ta feuille XL une colonne disons 'Onglet' Tu places dans la première valeur de cette colonne une formule =ONGLET(A2) (la colonne A contient le NOM par exemple) Tu copies-glisses cette formule sur toute la colonne et voilà tu utilises le champ Onglet dans ton publipostage sans te casser la tête dans Word qui est nul en calculs.
Quant à la fonction ONGLET() ci-dessus, pas besoin d'être un crack d'Excel. En voici une version bricolée vite fait (tu dis rien aux Excellents, ils vont rire) :
Public Function ONGLET(C As String) As String D = Int((Asc(UCase(Left(LTrim(C), 1))) - 65) / 3) * 3 + 1 ONGLET = Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ ", D, 3) End Function
*Voie de recherche A* dans excel
Bon ça j'ai réussi après quelques errements... (trouver que A = 65 et Z = 90 notamment !) Mais cela fait un tri systématique avec 3 lettres, or je souhaiterais retrouver le classement des touches téléphoniques : touche 2 : ABC touche 3 : DEF touche 4 : GHI touche 5 : JKL touche 6 : MNO touche 7 : PQRS (4 lettres) touche 8 : TUV touche 9 : WXYZ Et ensuite, je remplis un des 8 cellules avec les 3 ou 4 lettres et les autres ne contiennent rien.
J'ai testé cela : Public Function ONGLET(C As String) As String D = Int((Asc(UCase(Left(LTrim(C), 1))) - 65) / 3) * 3 + 1 ONGLET = Mid("ABC DEF GHI JKL MNO PQRSTUV WXYZ", D, 4) End Function Pour faire des groupes de 4 caractères (3 lettres + espaces ou 4 lettres) mais les espaces ne sont correctement gérés.
*Voie de recherche D* dans word
La première case et la dernière fonctionnent bien avec les champs suivants : { If { Mergefield NOM } <"D" "ABC" ""} pour la première cellule { If { Mergefield NOM } >="W" "WXYZ" ""} pour la dernière cellule
Je bute sur les 6 autres : Le champ suivant : {=and ({If {Mergefield NOM}>="D"} , {If {Mergefield NOM}<"F") "DEF" ""} me renvoie une erreur de syntaxe (j'ai remplacé /and/ par /et/ mais marche pas non plus) En fait le travail semble plus simple puisque chaque cellule ne peut prendre que deux valeurs : "Lettres" ou "rien", il ne m'est donc pas nécessaire d'imbriquer les if les uns dans les autres.
Le résultat après impression et découpage va ressembler aux pages d'un répertoire avec des onglets (sans échalottes lol )
-- Petit Denis "Jeune Champeur"
Anacoluthe
Bonjour !
'Petit Denis' nous a écrit ...
touche 7 : PQRS (4 lettres) touche 9 : WXYZ
Boudiou mais c'est vicieux ça ! :-)))) Bon je modifie la fonction ONGLET (toujours bricolée) :
Public Function ONGLET(C As String) As String R = "ABC DEF GHI JKL MNO PQRSTUV WXYZ" D = Int((InStr(R, UCase(Left(LTrim(C), 1))) - 1) / 4) * 4 + 1 ONGLET = RTrim(Mid(R, D, 4)) End Function
c'est mieux comme ça ?
{ If { Mergefield NOM } <"D" "ABC" ""} pour la première cellule { If { Mergefield NOM } >="W" "WXYZ" ""} pour la dernière cellule Je bute sur les 6 autres il ne m'est donc pas nécessaire d'imbriquer les if
Soit tu imbriques les IF dans les "" du 'sinon' du précédent Soit effectivement tu utilises des IF les uns à la suite des autres et c'est encore pire comme syntaxe : { IF { MERGEFIELD Nom } < "D" "ABC" } { IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "D" } ; { COMPARE "{ MERGEFIELD Nom }" < "G" ) } ) } = 1 "DEF" } ... { IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "P" } ; { COMPARE "{ MERGEFIELD Nom }" < "T" ) } ) } = 1 "PQRS" } ... { IF { MERGEFIELD Nom } > "W" "WXYZ" }
Non, décidément Word n'est pas fait pour ça ! Tu prends quoi toi pour les migraines ? :-D )))
Anacoluthe « Si tout ici-bas était excellent, il ny aurait plus rien dexcellent » - Denis DIDEROT
Bonjour !
'Petit Denis' nous a écrit ...
touche 7 : PQRS (4 lettres)
touche 9 : WXYZ
Boudiou mais c'est vicieux ça ! :-))))
Bon je modifie la fonction ONGLET (toujours bricolée) :
Public Function ONGLET(C As String) As String
R = "ABC DEF GHI JKL MNO PQRSTUV WXYZ"
D = Int((InStr(R, UCase(Left(LTrim(C), 1))) - 1) / 4) * 4 + 1
ONGLET = RTrim(Mid(R, D, 4))
End Function
c'est mieux comme ça ?
{ If { Mergefield NOM } <"D" "ABC" ""} pour la première cellule
{ If { Mergefield NOM } >="W" "WXYZ" ""} pour la dernière cellule
Je bute sur les 6 autres
il ne m'est donc pas nécessaire d'imbriquer les if
Soit tu imbriques les IF dans les "" du 'sinon' du précédent
Soit effectivement tu utilises des IF les uns à la suite des autres
et c'est encore pire comme syntaxe :
{ IF { MERGEFIELD Nom } < "D" "ABC" }
{ IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "D" } ; { COMPARE "{
MERGEFIELD Nom }" < "G" ) } ) } = 1 "DEF" }
...
{ IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "P" } ; { COMPARE "{
MERGEFIELD Nom }" < "T" ) } ) } = 1 "PQRS" }
...
{ IF { MERGEFIELD Nom } > "W" "WXYZ" }
Non, décidément Word n'est pas fait pour ça !
Tu prends quoi toi pour les migraines ? :-D )))
Anacoluthe
« Si tout ici-bas était excellent,
il ny aurait plus rien dexcellent »
- Denis DIDEROT
Boudiou mais c'est vicieux ça ! :-)))) Bon je modifie la fonction ONGLET (toujours bricolée) :
Public Function ONGLET(C As String) As String R = "ABC DEF GHI JKL MNO PQRSTUV WXYZ" D = Int((InStr(R, UCase(Left(LTrim(C), 1))) - 1) / 4) * 4 + 1 ONGLET = RTrim(Mid(R, D, 4)) End Function
c'est mieux comme ça ?
{ If { Mergefield NOM } <"D" "ABC" ""} pour la première cellule { If { Mergefield NOM } >="W" "WXYZ" ""} pour la dernière cellule Je bute sur les 6 autres il ne m'est donc pas nécessaire d'imbriquer les if
Soit tu imbriques les IF dans les "" du 'sinon' du précédent Soit effectivement tu utilises des IF les uns à la suite des autres et c'est encore pire comme syntaxe : { IF { MERGEFIELD Nom } < "D" "ABC" } { IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "D" } ; { COMPARE "{ MERGEFIELD Nom }" < "G" ) } ) } = 1 "DEF" } ... { IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "P" } ; { COMPARE "{ MERGEFIELD Nom }" < "T" ) } ) } = 1 "PQRS" } ... { IF { MERGEFIELD Nom } > "W" "WXYZ" }
Non, décidément Word n'est pas fait pour ça ! Tu prends quoi toi pour les migraines ? :-D )))
Anacoluthe « Si tout ici-bas était excellent, il ny aurait plus rien dexcellent » - Denis DIDEROT
Petit Denis
Bonsoir Anacoluthe wrote:
Bonjour !
'Petit Denis' nous a écrit ...
touche 7 : PQRS (4 lettres) touche *8* : WXYZ
Boudiou mais c'est vicieux ça ! :-))))
Y'a des fois on s'demande !!!
Bon je modifie la fonction ONGLET (toujours bricolée) :
Public Function ONGLET(C As String) As String R = "ABC DEF GHI JKL MNO PQRSTUV WXYZ" D = Int((InStr(R, UCase(Left(LTrim(C), 1))) - 1) / 4) * 4 + 1 ONGLET = RTrim(Mid(R, D, 4)) End Function
c'est mieux comme ça ?
Je n'ai pas pu tester, il m'a renvoyé une erreur et après plusieurs heures à tester tout cela, j'ai lâché vers 4 h du mat...
{ If { Mergefield NOM } <"D" "ABC" ""} pour la première cellule { If { Mergefield NOM } >="W" "WXYZ" ""} pour la dernière cellule Je bute sur les 6 autres il ne m'est donc pas nécessaire d'imbriquer les if
Soit tu imbriques les IF dans les "" du 'sinon' du précédent Soit effectivement tu utilises des IF les uns à la suite des autres et c'est encore pire comme syntaxe : { IF { MERGEFIELD Nom } < "D" "ABC" } { IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "D" } ; { COMPARE "{ MERGEFIELD Nom }" < "G" ) } ) } = 1 "DEF" } ... { IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "P" } ; { COMPARE "{ MERGEFIELD Nom }" < "T" ) } ) } = 1 "PQRS" } ... { IF { MERGEFIELD Nom } > "W" "WXYZ" }
Là, marche pas non plus : erreur op conditionnel inconnu (précisions, j'ai déjà remplacé ; par , ) Ça ne marche que pour les cas simples de la première et de la huitième cellule.
Non, décidément Word n'est pas fait pour ça !
Con vaincu lol
Tu prends quoi toi pour les migraines ? :-D )))
Tu ne vois pas passer des gros camions de paracétamol (38 tonnes) : ils viennent me livrer directement re lol En tout cas merci, de t'être penché sur ce sujet qui ne présentait aucun intérêt hormis celui de me faire cultiver les champs... Je vais utiliser une méthode manuelle (puisque je découpe après !).
-- Petit Denis Champé
Bonsoir
Anacoluthe wrote:
Bonjour !
'Petit Denis' nous a écrit ...
touche 7 : PQRS (4 lettres)
touche *8* : WXYZ
Boudiou mais c'est vicieux ça ! :-))))
Y'a des fois on s'demande !!!
Bon je modifie la fonction ONGLET (toujours bricolée) :
Public Function ONGLET(C As String) As String
R = "ABC DEF GHI JKL MNO PQRSTUV WXYZ"
D = Int((InStr(R, UCase(Left(LTrim(C), 1))) - 1) / 4) * 4 + 1
ONGLET = RTrim(Mid(R, D, 4))
End Function
c'est mieux comme ça ?
Je n'ai pas pu tester, il m'a renvoyé une erreur et après plusieurs heures à
tester tout cela, j'ai lâché vers 4 h du mat...
{ If { Mergefield NOM } <"D" "ABC" ""} pour la première cellule
{ If { Mergefield NOM } >="W" "WXYZ" ""} pour la dernière cellule
Je bute sur les 6 autres
il ne m'est donc pas nécessaire d'imbriquer les if
Soit tu imbriques les IF dans les "" du 'sinon' du précédent
Soit effectivement tu utilises des IF les uns à la suite des autres
et c'est encore pire comme syntaxe :
{ IF { MERGEFIELD Nom } < "D" "ABC" }
{ IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "D" } ; { COMPARE "{
MERGEFIELD Nom }" < "G" ) } ) } = 1 "DEF" }
...
{ IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "P" } ; { COMPARE "{
MERGEFIELD Nom }" < "T" ) } ) } = 1 "PQRS" }
...
{ IF { MERGEFIELD Nom } > "W" "WXYZ" }
Là, marche pas non plus : erreur op conditionnel inconnu (précisions, j'ai
déjà remplacé ; par , )
Ça ne marche que pour les cas simples de la première et de la huitième
cellule.
Non, décidément Word n'est pas fait pour ça !
Con vaincu lol
Tu prends quoi toi pour les migraines ? :-D )))
Tu ne vois pas passer des gros camions de paracétamol (38 tonnes) : ils
viennent me livrer directement re lol
En tout cas merci, de t'être penché sur ce sujet qui ne présentait aucun
intérêt hormis celui de me faire cultiver les champs...
Je vais utiliser une méthode manuelle (puisque je découpe après !).
Bon je modifie la fonction ONGLET (toujours bricolée) :
Public Function ONGLET(C As String) As String R = "ABC DEF GHI JKL MNO PQRSTUV WXYZ" D = Int((InStr(R, UCase(Left(LTrim(C), 1))) - 1) / 4) * 4 + 1 ONGLET = RTrim(Mid(R, D, 4)) End Function
c'est mieux comme ça ?
Je n'ai pas pu tester, il m'a renvoyé une erreur et après plusieurs heures à tester tout cela, j'ai lâché vers 4 h du mat...
{ If { Mergefield NOM } <"D" "ABC" ""} pour la première cellule { If { Mergefield NOM } >="W" "WXYZ" ""} pour la dernière cellule Je bute sur les 6 autres il ne m'est donc pas nécessaire d'imbriquer les if
Soit tu imbriques les IF dans les "" du 'sinon' du précédent Soit effectivement tu utilises des IF les uns à la suite des autres et c'est encore pire comme syntaxe : { IF { MERGEFIELD Nom } < "D" "ABC" } { IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "D" } ; { COMPARE "{ MERGEFIELD Nom }" < "G" ) } ) } = 1 "DEF" } ... { IF { =AND( { COMPARE "{ MERGEFIELD Nom }" > "P" } ; { COMPARE "{ MERGEFIELD Nom }" < "T" ) } ) } = 1 "PQRS" } ... { IF { MERGEFIELD Nom } > "W" "WXYZ" }
Là, marche pas non plus : erreur op conditionnel inconnu (précisions, j'ai déjà remplacé ; par , ) Ça ne marche que pour les cas simples de la première et de la huitième cellule.
Non, décidément Word n'est pas fait pour ça !
Con vaincu lol
Tu prends quoi toi pour les migraines ? :-D )))
Tu ne vois pas passer des gros camions de paracétamol (38 tonnes) : ils viennent me livrer directement re lol En tout cas merci, de t'être penché sur ce sujet qui ne présentait aucun intérêt hormis celui de me faire cultiver les champs... Je vais utiliser une méthode manuelle (puisque je découpe après !).
-- Petit Denis Champé
Geo
Bonjour Petit Denis
En tout cas merci, de t'être penché sur ce sujet qui ne présentait aucun intérêt hormis celui de me faire cultiver les champs...
P'tet qu' Anacoluthe a oublié de te dire : pour que ça pousse il faut arroser. En Alsace ils ne connaissent pas la sécheresse.
--
A+
Bonjour Petit Denis
En tout cas merci, de t'être penché sur ce sujet qui ne présentait aucun
intérêt hormis celui de me faire cultiver les champs...
P'tet qu' Anacoluthe a oublié de te dire : pour que ça pousse il faut
arroser.
En Alsace ils ne connaissent pas la sécheresse.
Tu ne vois pas passer des gros camions de paracétamol (38 tonnes) : ils viennent me livrer directement re lol
Alors j'ose même plus te dire de persévérer (fonction XL et champs WD sont ok chez moi): garde encore un peu de foie pour le pastis ;-) A+
Anacoluthe « Bienheureux les travailleurs des champs. » - VIRGILE
JièL Goubert
Bonjoir(c) Anacoluthe
Le 14/08/2005 19:03 vous avez écrit ceci :
'Petit Denis' nous a écrit ...
touche 7 : PQRS (4 lettres) touche 9 : WXYZ
Boudiou mais c'est vicieux ça ! :-)))) Bon je modifie la fonction ONGLET (toujours bricolée) :
Public Function ONGLET(C As String) As String R = "ABC DEF GHI JKL MNO PQRSTUV WXYZ" D = Int((InStr(R, UCase(Left(LTrim(C), 1))) - 1) / 4) * 4 + 1 ONGLET = RTrim(Mid(R, D, 4)) End Function
une solution antisuperfétatoire =INDEX({"ABC";"DEF";"GHY";"JKL";"MNO";"PQRS";"TUV";"WXYZ"};EQUIV(A1;{2;3;4;5;6;7;8;9};0)) ;-))))))))
oui, j'avais du temps à perdre aujourd'hui ;-))))))
JièL Très z'ami
Bonjoir(c) Anacoluthe
Le 14/08/2005 19:03 vous avez écrit ceci :
'Petit Denis' nous a écrit ...
touche 7 : PQRS (4 lettres)
touche 9 : WXYZ
Boudiou mais c'est vicieux ça ! :-))))
Bon je modifie la fonction ONGLET (toujours bricolée) :
Public Function ONGLET(C As String) As String
R = "ABC DEF GHI JKL MNO PQRSTUV WXYZ"
D = Int((InStr(R, UCase(Left(LTrim(C), 1))) - 1) / 4) * 4 + 1
ONGLET = RTrim(Mid(R, D, 4))
End Function
une solution antisuperfétatoire
=INDEX({"ABC";"DEF";"GHY";"JKL";"MNO";"PQRS";"TUV";"WXYZ"};EQUIV(A1;{2;3;4;5;6;7;8;9};0))
;-))))))))
oui, j'avais du temps à perdre aujourd'hui ;-))))))
Boudiou mais c'est vicieux ça ! :-)))) Bon je modifie la fonction ONGLET (toujours bricolée) :
Public Function ONGLET(C As String) As String R = "ABC DEF GHI JKL MNO PQRSTUV WXYZ" D = Int((InStr(R, UCase(Left(LTrim(C), 1))) - 1) / 4) * 4 + 1 ONGLET = RTrim(Mid(R, D, 4)) End Function
une solution antisuperfétatoire =INDEX({"ABC";"DEF";"GHY";"JKL";"MNO";"PQRS";"TUV";"WXYZ"};EQUIV(A1;{2;3;4;5;6;7;8;9};0)) ;-))))))))
oui, j'avais du temps à perdre aujourd'hui ;-))))))
JièL Très z'ami
Anacoluthe
Hello JièL !
'JièL Goubert' nous a écrit ...
une solution antisuperfétatoire =INDEX({"ABC";"DEF";"GHY";"JKL";"MNO";"PQRS";"TUV";"WXYZ"};EQUIV(A1;{2;3;4;5;6;7;8;9};0))
Euh t'es sûr là ? en A1 c'est un NOM en lettres je crois. J'aurais dit =INDEX({"ABC";"DEF";"GHI";"JKL";"MNO";"PQRS";"TUV";"WXYZ"};EQUIV(A1;{"A";"D";"G";"J";"M";"P";"T";"W"})) On va sur le MPFE pour régler ça à la régulière ? :-D )))
A++ Anacoluthe « Si tout ici-bas était excellent, il ny aurait plus rien dexcellent » - Denis DIDEROT
Hello JièL !
'JièL Goubert' nous a écrit ...
une solution antisuperfétatoire
=INDEX({"ABC";"DEF";"GHY";"JKL";"MNO";"PQRS";"TUV";"WXYZ"};EQUIV(A1;{2;3;4;5;6;7;8;9};0))
Euh t'es sûr là ? en A1 c'est un NOM en lettres je crois. J'aurais dit
=INDEX({"ABC";"DEF";"GHI";"JKL";"MNO";"PQRS";"TUV";"WXYZ"};EQUIV(A1;{"A";"D";"G";"J";"M";"P";"T";"W"}))
On va sur le MPFE pour régler ça à la régulière ? :-D )))
A++
Anacoluthe
« Si tout ici-bas était excellent,
il ny aurait plus rien dexcellent »
- Denis DIDEROT
une solution antisuperfétatoire =INDEX({"ABC";"DEF";"GHY";"JKL";"MNO";"PQRS";"TUV";"WXYZ"};EQUIV(A1;{2;3;4;5;6;7;8;9};0))
Euh t'es sûr là ? en A1 c'est un NOM en lettres je crois. J'aurais dit =INDEX({"ABC";"DEF";"GHI";"JKL";"MNO";"PQRS";"TUV";"WXYZ"};EQUIV(A1;{"A";"D";"G";"J";"M";"P";"T";"W"})) On va sur le MPFE pour régler ça à la régulière ? :-D )))
A++ Anacoluthe « Si tout ici-bas était excellent, il ny aurait plus rien dexcellent » - Denis DIDEROT