|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Bonjour.
Je souhaiterais savoir si quelqu'un peut m'indiquer la commande qui permet de réaliser une instruction à l'aide d'une boucle IF si le texte est en gras et souligné. J'ai ce début de code : Code :
Si b est en gras et souligné, alors commande. Merci d'avance |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Code :
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Ok
et pour mettre les conditions gras et souligné ensemble, suffit-il de les relier par &? Code :
If Selection.Font.Bold & Selection.Font.Underline Then MsgBox "gras et souligné" |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
As-tu essayé ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Non car je n'arrive pas à faire le lien entre le code du premier post et ce que tu m'as indiqué.
Faut-il simplement écrire Code :
|
||
|
|
00
|
|
|
#6 | ||||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Faire une macro demande de respecter certaines choses.
Savoir dès le départ ce que l'on veut faire !! A voir ton code, tu n'a même pas consulté l'aide ni la faq. l'opérateur "&" et oui c'est un opérateur, est un opérateur de concaténation en VBA. Il est donc fort peu probable qu'il fonctionne comme tu le voudrais. Dans la première ligne de code que tu présente, tu affecte à b une valeur. Valeur dont je ne connais pas le type. Si ne représente en rien une boucle !! si est un opérateur de condition. If fonctionne de la manière suivante : Code :
Code :
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||||
|
|
00
|
|
|
#7 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Ok je te donne le code que j'ai composé en te l'expliquant :
Code :
Cette macro est censé renvoyer sur le document Récap.doc : -les lignes du tableau d'un autre document dont la lettre de la deuxième colonne est "D" -les lignes constituant des titres en gras et soulignés -le nom du document dont ces lignes sont issues. Il y a pas mal de lignes de code de mise en forme car en rajoutant une ligne ont obtient parfois une mise en forme non voulue. J'ai un problème avec cette macro : elle s'arrête dès que la première ligne contenant "D" est collée sur Récap.doc. Peux-tu m'aider à résoudre ce problème? Pour mieux comprendre ce que je veux faire et peut-être en guise de base de réflexion je joins la première version de cette macro qui fonctionne: Code :
|
||||
|
|
00
|
|
|
#8 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Voilà la macro elle devrait fonctionner.
Code :
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Ok sympa
Après les quelques modifications qui s'imposent (chemin du fichier à ouvrir, position du tableau dans le document, etc) j'ai essayé la macro mais elle ne marche pas: -aucun texte n'apparait dans le récapitulatif -du coup la macro m'insulte car ActiveDocument.Tables(1).Rows(1).Cells(1).Select n'existe pas |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Voilà les deux fichiers que j'ai utilisés.
Ils sont à mettre dans le C:\temp\
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
J'essaie et ça marche pas.
J'ai une insulte qui dit: Erreur system &H80004005 (-2147467259). Erreur non spécifiée |
|
|
00
|
|
|
#12 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Je te renvoie la macro que j'ai légérement modifié comme je l'ai dis précédemment au cas où j'y aurait fait des erreurs.
Code :
|
||
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Essaie de faire du monitoring de ton code avec quelques sur les variables.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#14 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Salut
j'ai trouvé une partie de ce qui allait pas dans le code que j'ai un peu retouché. J'utilise un modèle de document dans lequel est placé la macro. En général, lorsque l'on créé des documents à partir de ces modèles, j'ai remarqué qu'il vaut mieux utiliser ActiveDocument plutôt que ThisDocument qui a tendance à faire référence au modèle et donc au mauvais document. Depuis que j'ai apporté cette modification, les avis sont bien envoyé sur le document Récap. Seulement, la macro plante lorsqu'il s'agit d'ajouter le nom du document, à la quatrième ligne en partant de la fin: Code :
Selection.TypeText Text:=Left(stTemp, InStr(stTemp, ".doc") - 1) Je cherche à résoudre ce petit inconvénient mais si tu as le temps d'y jeter un coup d'oeil... |
|
|
00
|
|
|
#15 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2007 Messages : 93 ![]() |
Voilà ça y'est j'ai trouvé.
Il suffisait d'enregistrer le document avant de lancer la macro, et elle fonctionne nickel chrome. Merci Heureux-Oli, du coup je peux apposer le résolu à deux sujets en même temps. |
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Essaie juste avant la ligne de mettre un
Pour savoir ce qu'il contient
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com