Bonjour,
J'ai une base de 4000 photos avec uniquement des noms à 5 chiffres. (exemple
: 64055.jpg)
J'ai par ailleurs (un copier collé d'une query de ma base d'articles) un
tableau word avec les numéros des articles et leur nom.
Je voudrais regrouper les 2 sur une seule édition pour avoir toutes les
photos avec leur nom au-dessus dans un seul catalogue.
J'ai donc tapoté cette macro, qui fonctionne pour insérer une photo, mais
qui refuse d'insérer la deuxième photo. Elle s'arrete au deuxième tour au
niveau de l'*.
J'avoue qu'elle n'est pas très belle, en particulier dans le déplacement de
curseur, mais c'est une macro enregistrée.
PS : la base photo est sur le lecteur réseau V:\
Est-ce que quelqu'un peut de débloquer ça ?
Merci d'avance.
Bertrand
---------------------------------------
Sub Inserer()
'
'
A = 1 'Variable photo
B = 1 'Chemin
'
'---
Do While A <> ""
Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend
Selection.Copy
A = Selection.Text
B = "V:\" + A + ".jpg"
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertRows 1
Selection.Collapse Direction:=wdCollapseStart
* Selection.InlineShapes.AddPicture FileName:=B, LinkToFile:=False,
SaveWithDocument:=True
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=5
Loop
'---
'
End Sub
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
Geo
C'est pas de chance, d'habitude on râle parce que ça boucle !
Avez-vous regardé ce que vous récupérez ici :
A = Selection.Text
dans une image il n'y a pas grand'chose comme texte.
Puisque vous semblez débuter : Affichez les fenêtres d'exécution et de variables.
mettez des debug.print, ça vous aide à comprendre ce qui se passe. Mettez des points d'arrêt et regardez ce qu'il y a dans la fenêtre des variables.
Amha un debug.print "A= " & a doit renvoyer une chaîne vide et la macro s'arrête.
Il manque un Dir() dans votre boucle, non ? Plutôt à la place du a=selection.text et de l'instruction qui suit, mais il faut l'initialiser. Pi je ne vois pas quand vous accédez à vos autres images. J'ai la vague impression que vous allez recopier la première image un certain nombre de fois.
-- A+
C'est pas de chance, d'habitude on râle parce que ça boucle !
Avez-vous regardé ce que vous récupérez ici :
A = Selection.Text
dans une image il n'y a pas grand'chose comme texte.
Puisque vous semblez débuter :
Affichez les fenêtres d'exécution et de variables.
mettez des debug.print, ça vous aide à comprendre ce qui se passe.
Mettez des points d'arrêt et regardez ce qu'il y a dans la fenêtre des
variables.
Amha un debug.print "A= " & a doit renvoyer une chaîne vide et la macro
s'arrête.
Il manque un Dir() dans votre boucle, non ?
Plutôt à la place du a=selection.text et de l'instruction qui suit,
mais il faut l'initialiser.
Pi je ne vois pas quand vous accédez à vos autres images.
J'ai la vague impression que vous allez recopier la première image un
certain nombre de fois.
C'est pas de chance, d'habitude on râle parce que ça boucle !
Avez-vous regardé ce que vous récupérez ici :
A = Selection.Text
dans une image il n'y a pas grand'chose comme texte.
Puisque vous semblez débuter : Affichez les fenêtres d'exécution et de variables.
mettez des debug.print, ça vous aide à comprendre ce qui se passe. Mettez des points d'arrêt et regardez ce qu'il y a dans la fenêtre des variables.
Amha un debug.print "A= " & a doit renvoyer une chaîne vide et la macro s'arrête.
Il manque un Dir() dans votre boucle, non ? Plutôt à la place du a=selection.text et de l'instruction qui suit, mais il faut l'initialiser. Pi je ne vois pas quand vous accédez à vos autres images. J'ai la vague impression que vous allez recopier la première image un certain nombre de fois.
-- A+
bertrouf
Merci de vos pistes. Je récupère le texte dans la case qui contient le numéro de la photo. (Un texte) Ensuite j'insère une ligne, puis j'insère la photo qui porte ce numéro. Je vais à la ligne, je récupère le texte de la case suivante, j'insère une ligne, etc. J'ai trouvé le problème, la macro cherchait une photo qui n'existe pas parce que sur la seconde boucle, je ne récupérais que les 4 derniers chiffres. Je l'avais présenti, c'était un problème de déplacement de curseur. Il faut que je sorte de la boucle s'il n'y a pas de photo correspondante.
Par contre maintenant, j'aimerai bien définir une largeur d'affichage à ces photos. Bertrand
C'est pas de chance, d'habitude on râle parce que ça boucle !
Avez-vous regardé ce que vous récupérez ici :
A = Selection.Text
dans une image il n'y a pas grand'chose comme texte.
Puisque vous semblez débuter : Affichez les fenêtres d'exécution et de variables.
mettez des debug.print, ça vous aide à comprendre ce qui se passe. Mettez des points d'arrêt et regardez ce qu'il y a dans la fenêtre des variables.
Amha un debug.print "A= " & a doit renvoyer une chaîne vide et la macro s'arrête.
Il manque un Dir() dans votre boucle, non ? Plutôt à la place du a=selection.text et de l'instruction qui suit, mais il faut l'initialiser. Pi je ne vois pas quand vous accédez à vos autres images. J'ai la vague impression que vous allez recopier la première image un certain nombre de fois.
-- A+
Merci de vos pistes.
Je récupère le texte dans la case qui contient le numéro de la photo. (Un
texte)
Ensuite j'insère une ligne, puis j'insère la photo qui porte ce numéro.
Je vais à la ligne, je récupère le texte de la case suivante, j'insère une
ligne, etc.
J'ai trouvé le problème, la macro cherchait une photo qui n'existe pas parce
que sur la seconde boucle, je ne récupérais que les 4 derniers chiffres. Je
l'avais présenti, c'était un problème de déplacement de curseur.
Il faut que je sorte de la boucle s'il n'y a pas de photo correspondante.
Par contre maintenant, j'aimerai bien définir une largeur d'affichage à ces
photos.
Bertrand
C'est pas de chance, d'habitude on râle parce que ça boucle !
Avez-vous regardé ce que vous récupérez ici :
A = Selection.Text
dans une image il n'y a pas grand'chose comme texte.
Puisque vous semblez débuter :
Affichez les fenêtres d'exécution et de variables.
mettez des debug.print, ça vous aide à comprendre ce qui se passe.
Mettez des points d'arrêt et regardez ce qu'il y a dans la fenêtre des
variables.
Amha un debug.print "A= " & a doit renvoyer une chaîne vide et la macro
s'arrête.
Il manque un Dir() dans votre boucle, non ?
Plutôt à la place du a=selection.text et de l'instruction qui suit,
mais il faut l'initialiser.
Pi je ne vois pas quand vous accédez à vos autres images.
J'ai la vague impression que vous allez recopier la première image un
certain nombre de fois.
Merci de vos pistes. Je récupère le texte dans la case qui contient le numéro de la photo. (Un texte) Ensuite j'insère une ligne, puis j'insère la photo qui porte ce numéro. Je vais à la ligne, je récupère le texte de la case suivante, j'insère une ligne, etc. J'ai trouvé le problème, la macro cherchait une photo qui n'existe pas parce que sur la seconde boucle, je ne récupérais que les 4 derniers chiffres. Je l'avais présenti, c'était un problème de déplacement de curseur. Il faut que je sorte de la boucle s'il n'y a pas de photo correspondante.
Par contre maintenant, j'aimerai bien définir une largeur d'affichage à ces photos. Bertrand
C'est pas de chance, d'habitude on râle parce que ça boucle !
Avez-vous regardé ce que vous récupérez ici :
A = Selection.Text
dans une image il n'y a pas grand'chose comme texte.
Puisque vous semblez débuter : Affichez les fenêtres d'exécution et de variables.
mettez des debug.print, ça vous aide à comprendre ce qui se passe. Mettez des points d'arrêt et regardez ce qu'il y a dans la fenêtre des variables.
Amha un debug.print "A= " & a doit renvoyer une chaîne vide et la macro s'arrête.
Il manque un Dir() dans votre boucle, non ? Plutôt à la place du a=selection.text et de l'instruction qui suit, mais il faut l'initialiser. Pi je ne vois pas quand vous accédez à vos autres images. J'ai la vague impression que vous allez recopier la première image un certain nombre de fois.
-- A+
Geo
Merci de vos pistes. Je récupère le texte dans la case qui contient le numéro de la photo. (Un texte)
Ça veut dire que vos photos sont déjà sur un document.
Par contre maintenant, j'aimerai bien définir une largeur d'affichage à ces photos.
Il me semble que cela a déjà été traité sur le forum, vous devriez retrouver dans l'historique.
-- A+
Merci de vos pistes.
Je récupère le texte dans la case qui contient le numéro de la photo. (Un
texte)
Ça veut dire que vos photos sont déjà sur un document.
Par contre maintenant, j'aimerai bien définir une largeur d'affichage à ces
photos.
Il me semble que cela a déjà été traité sur le forum, vous devriez
retrouver dans l'historique.