Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1566 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Macro sous Word insertion photos

n°1800772
Ptit loup
Quand c'est flou, y'a un loup
Posté le 15-10-2008 à 22:29:52  profilanswer
 

Reprise du message précédent :
OK pour le lien... ou alors peut être un bug corrigé seulement sur les versions récentes d'Office...
Il reste l'autre solution, de calculer le ratio à la main, et de le reporter sur hauteur et largeur à chaque fois...

mood
Publicité
Posté le 15-10-2008 à 22:29:52  profilanswer
 

n°1800814
bibou_62
geekette inside.
Posté le 15-10-2008 à 23:43:10  profilanswer
 

hello, d'abord primo c'est pas "lui", mais "elle ;)
 
secundo, merci à vous deux, ça marche nickel, now !
la ligne avec le LockAspectRatio je l'ai dégagée car j'avais une image déformée à tous les coups. Même en essayant de la mettre après détermination de la taille, bref, quoi que je fasse, ça déformait. ptet la faute à word 97, ça je ne peux pas le dire.
 
D'où l'intérêt du ratio. Et oui, j'avais effectivement zappé le "set" en moins.
 
Bref, c'est sympa d'avoir à faire à des gens aussi gentils, patients et compétents  :jap:  
 
Je suis sûre que cette macro sera utile à d'autres.
 
Histoire d'être perfectioniste, on peut rajouter une boite de navigation et procéder par sélection d'une partie des photos du dossier ?  :whistle:  
j'vais essayer de m'y coller, qui sait, p'tet une illumination ?  :ange:


---------------
Mes Achats/Ventes // Achète Portables à réparer
n°1800828
seniorpapo​u
Posté le 16-10-2008 à 07:21:16  profilanswer
 

Bonjour,
pour aider l'illumination:
 
   Dim MonDial As FileDialog
    Set MonDial = Application.FileDialog( _
        FileDialogType:=msoFileDialogOpen)
    With MonDial
 
          ' ICI tu peux , à l'aide des propriétés   "filters" et  "InitialFileName" affiner le travail
 
        .AllowMultiSelect = True
        .Show
    End With
 
 
                ' Sur la boite de dialogue tu sélectionnes plusieurs fichiers et tu cliques sur OK
    With MonDial
           For Each FichierSelect In .SelectedItems
 
                ' ICI TU REMETS TA SEQUENCE DE COPIE
                 
                MsgBox "Fichier sélectionné: " & FichierSelect
 
            Next FichierSelect
     End With

Message cité 1 fois
Message édité par seniorpapou le 16-10-2008 à 07:46:40
n°1800829
seniorpapo​u
Posté le 16-10-2008 à 07:44:45  profilanswer
 

bibou_62 a écrit :

hello, d'abord primo c'est pas "lui", mais "elle ;)
  :ange:


 
Désolé, je n'avais pas regardé le profil....
Mes hommages madame.
Bonne journée, bises au fiston

n°1800910
bibou_62
geekette inside.
Posté le 16-10-2008 à 11:14:40  profilanswer
 

finalement, hier, ellement claquée, que je me suis endormie sur le pc (et pas qu'au sens figuré) :( donc je vais essayer ça now.
 
MErci.


---------------
Mes Achats/Ventes // Achète Portables à réparer
n°1800932
bibou_62
geekette inside.
Posté le 16-10-2008 à 11:38:13  profilanswer
 

juste une question, je colle ça où ? :??:


---------------
Mes Achats/Ventes // Achète Portables à réparer
n°1800949
bibou_62
geekette inside.
Posté le 16-10-2008 à 12:05:30  profilanswer
 

sous 97 j'ai filesearch ou dialog, pas filedialog
je prends koi ?  :pt1cable:  
 

seniorpapou a écrit :

Bonjour,
pour aider l'illumination:
 
   Dim MonDial As FileDialog
    Set MonDial = Application.FileDialog( _
        FileDialogType:=msoFileDialogOpen)
    With MonDial
 
          ' ICI tu peux , à l'aide des propriétés   "filters" et  "InitialFileName" affiner le travail
 
        .AllowMultiSelect = True
        .Show
    End With
 
 
                ' Sur la boite de dialogue tu sélectionnes plusieurs fichiers et tu cliques sur OK
    With MonDial
           For Each FichierSelect In .SelectedItems
 
                ' ICI TU REMETS TA SEQUENCE DE COPIE
                 
                MsgBox "Fichier sélectionné: " & FichierSelect
 
            Next FichierSelect
     End With



---------------
Mes Achats/Ventes // Achète Portables à réparer
n°1800974
seniorpapo​u
Posté le 16-10-2008 à 13:06:30  profilanswer
 

Aie!!
c'est dialogs, mais je ne sais pas comment gèrer les sélections multiples. Il va falloir une véritable illumination.

n°1800977
bibou_62
geekette inside.
Posté le 16-10-2008 à 13:19:07  profilanswer
 

ok,et si on faitautrement :
 
je demande le n°de la 1ère photo, le n° de la dernière, comme ça on a le fichier de départ à insérer et le nombre de boucles à faire ? c'est transcriptible,ça ?


---------------
Mes Achats/Ventes // Achète Portables à réparer
n°1801007
seniorpapo​u
Posté le 16-10-2008 à 14:27:43  profilanswer
 

Patiente un peu, quelqu'un a surement une solution pour word97. Sinon cela est envisageable, le tout est de savoir ce que tu appelles le N°..

mood
Publicité
Posté le 16-10-2008 à 14:27:43  profilanswer
 

n°1801011
bibou_62
geekette inside.
Posté le 16-10-2008 à 14:38:42  profilanswer
 

bah pour faire simple, le nom de la photo, sous forme de numéro : 001, 002, 003....


---------------
Mes Achats/Ventes // Achète Portables à réparer
n°1801012
Ptit loup
Quand c'est flou, y'a un loup
Posté le 16-10-2008 à 14:38:52  profilanswer
 

Tes photos ont des noms du genre "Photo001.jpg" jusque "Photo237.jpg" ?

n°1801014
Ptit loup
Quand c'est flou, y'a un loup
Posté le 16-10-2008 à 14:40:36  profilanswer
 

Tu pourrais nous indiquer de manière précise à quoi ressemble un de tes répertoires avec les noms de photo ?
(une tite copie d'écran ? non ?)

n°1801018
bibou_62
geekette inside.
Posté le 16-10-2008 à 14:51:01  profilanswer
 

http://img384.imageshack.us/img384/4808/copieecraneb5.jpg
 
 
mais bon, j'ai un prog qui peut me renommer tout ça en deux temps trois mouvements :D


---------------
Mes Achats/Ventes // Achète Portables à réparer
n°1801021
Ptit loup
Quand c'est flou, y'a un loup
Posté le 16-10-2008 à 14:56:48  profilanswer
 

À ce moment là, eh bien c'est plutôt simple... mais bon, au final, je vois pas en quoi ma solution initiale avec saisie du nom du répertoire ne te convenait pas... ça reste plus simple que de renommer tes photos ou indiquer un numéro de début ou fin !
 
(ou alors, tu convaincs tes zoulous de client, que ça sera encore compatible avec un Word 2000 ou 2003 !... jvois d'ailleurs pas où est le souci...)
 
Bon, sinon, pour récup un truc que tu saisi
variable = Inputbox ("texte", "titre" )
 
(ou qq chose dans le genre quoi... l'aide à la volée sera plus précise que moi là)
ensuite, tu utilises ta variable, et tu peux faire une tite boucle sans souci (inspire toi de ce que l'on a déjà écrit)

n°1801028
seniorpapo​u
Posté le 16-10-2008 à 15:02:35  profilanswer
 

Bon, en cherchant j'aitrouvé autre chose:
 
Sub OuvreFichier5()
  Dim QuelFichier() '
  QuelFichier = Excel.Application.GetOpenFilename(, , , , True)
  For Ctr = 1 To UBound(QuelFichier)
    MsgBox QuelFichier(Ctr)
  Next
End Sub
 
 
Il faut ajouter microsoft excel xx.x  dans les références
 
on peut faire une sélection multiple et cliquer sur ouvrir. A voir sous word97

n°1801064
bibou_62
geekette inside.
Posté le 16-10-2008 à 16:35:45  profilanswer
 

voilà, j'ai fait ça, mais évidemment y'a des erreurs qui trainent (et certainement des absurdités) puisque çane marche pas :
 
Sub InsertionImages()
 
Dim Repertoire As String
Dim Extension As String
Dim Fichier As String
Dim ratio As String
Dim photoA As String
Dim photoZ As String
 
 
'Saisie du nom du répertoire
Repertoire = InputBox("Chemin complet du répertoire (\ à la fin)", "Répertoire", "B:\BIBLIO\ETUDE - PV\INSERTION_PHOTOS\" )
 
'Saisie du type d'extension
Extension = InputBox("Type de fichier (sans le point, ex : jpg, png, bmp)", "Type de fichier", "jpg" )
 
'Saisie de la première photo
photoA = InputBox("Numéro de la première photo", "photoA", "001" )
 
'Saisie de la dernière photo
photoZ = InputBox("Numéro de la dernière photo (200 photo max)", "photoZ", "200" )
 
'Récupération du premier fichier du répertoire
Fichier = Dir(Repertoire & photoA & Extension, vbDirectory)
Do While Fichier <> ""
i = i + 1
 
 
'Insertion de l'image
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Set objShape = Selection.InlineShapes.AddPicture(FileName:=Repertoire & Fichier)
    ratio = (objShape.Width / objShape.Height)
    With objShape
         If .Width > .Height Then
            .Width = 405.35
            .Height = 405.35 / ratio
        Else
            .Height = 405.35
            .Width = 405.35 * ratio
                           
        End If
               
    End With
 
'Insertion de lignes vides
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Selection.TypeParagraph
Selection.TypeParagraph
 
 
'Récupération du prochain fichier du répertoire
photoA = (photoA + 1)
If photoA = photoZ Then End Sub
Else: Fichier = Dir
Loop
 
End sub
 
 
 :hello:


Message édité par bibou_62 le 16-10-2008 à 16:40:48

---------------
Mes Achats/Ventes // Achète Portables à réparer
n°1801100
seniorpapo​u
Posté le 16-10-2008 à 17:51:22  profilanswer
 

Bonsoir,
par curiosité as-tu essayé ma dernière proposition, telle qu'elle est??
 
Je n'ai pas vu à quoi servait ton i=i+1
 
il faudrait écrire pour que la compilation soit bonne:
 
photoA = Format(photoA + 1, "000" )
If photoA = photoZ Then Exit Sub  
Fichier = Dir  
Loop  
 
 
 
tu as renommé les fichiers 1.jpg   2.jpg etc??
 
le fichier=dir du bas devrait te renvoyer ""  si je ne m'abuse, si c'est le cas il faut recopier le dir(.....) du haut pour renouveler le paramètre d'appel.
 
En fait je crois que si tu utilises le principe : photoa et photoz, il te suffit de concaténer Repertoire & photoA & Extension dans le ADDPICTURE(...)


Message édité par seniorpapou le 16-10-2008 à 18:11:07
n°1801203
Ptit loup
Quand c'est flou, y'a un loup
Posté le 16-10-2008 à 23:08:16  profilanswer
 

Oui... je rejoins papou...
 
Soit tu utilises la numérotation, et alors tu oublies les commandes "dir"... soit tu oublies la numérotation, et tu reprends ma solution du départ telle quelle (sauf pour le ratio qui ne marchait pas pour toi).

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Macro Excel: recherche dans des objets OLE[JS] clean word et expression régulière
probleme macro excelInteraction utilisateur et macro
Open XML API : insérer une image dans WordInsertion d'image : quels sont les attributs recommandés ?
Faire tourner une macro en tache de fondInsertion d'une inscription en ligne???
Recherche script gallerie photos !Macro d'envoi d'emails fonctionnant mais pas dans perso.xls
Plus de sujets relatifs à : Macro sous Word insertion photos


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR