Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Placer des chemins d'accès à des fichiers images dans une array

  • Initiateur de la discussion Initiateur de la discussion fb62840
  • Date de début Date de début

fb62840

XLDnaute Impliqué
Bonjour à toutes et à tous,

Dans le classeur ci-joint se trouve une macro qui créée des zones nommées et qui génère des fichiers gif à partir de ces zones.

J'aimerais modifier la macro pour faire en sorte d'alimenter une array qui contiendrait les chemins d'accès à chacune des images créées.

Toutes vos suggestions seront les bienvenues.
 

Pièces jointes

  • testv3.xls
    47 KB · Affichages: 36
  • testv3.xls
    47 KB · Affichages: 37
  • testv3.xls
    47 KB · Affichages: 41

Staple1600

XLDnaute Barbatruc
Re : Placer des chemins d'accès à des fichiers images dans une array

Bonjour


Normalement on ne joint pas de fichiers contenant des infos nominatives ou confidentielles
(Les adresses dans ta PJ sont fictives ou réelles?)

Pour ta question, voir dans les archives du forum:
Les fils relatifs au listage du contenu d'un dossier sont légion

Sinon un dir /s /b *.gif >toto.xls peut suffire parfois
 

Staple1600

XLDnaute Barbatruc
Re : Placer des chemins d'accès à des fichiers images dans une array

Re


A la relecture de ta question, voici comment je remplirai mon array
VB:
Sub stock()
ReDim NomFich(0)
Dim Nms As Name, LeGraph As Object, Fich$, N%
Dim tablo, j%, k%
Application.ScreenUpdating = False: N = 1
For Each sh In Sheets
  ActiveWorkbook.Names.Add Name:="Fiche" & N, RefersToR1C1:="=" & sh.Name & "!R1C1:R29C5"
  NomFich(UBound(NomFich)) = "Fiche" & N ' a quoi te sert NomFich dans cette macro?
  ReDim Preserve NomFich(UBound(NomFich) + 1)
  N = N + 1
Next
ReDim Preserve NomFich(UBound(NomFich)): ReDim tablo(UBound(NomFich))
MsgBox UBound(NomFich) 'pour TEST
MsgBox UBound(tablo) 'pour TEST
j = 0
For Each Nms In ActiveWorkbook.Names
    If Left(Nms.Name, 5) = "Fiche" And Nms.Visible = True Then
    j = j + 1
        Range(Nms.Name).CopyPicture
        Set LeGraph = ActiveSheet.ChartObjects.Add(0, 0, Range(Nms.Name).Width, Range(Nms.Name).Height)
        LeGraph.Chart.Paste
        Fich = ActiveWorkbook.Path & "\" & Nms.Name & ".gif"
        MsgBox "test: " & Fich ' pour TEST
        tablo(j) = Fich
       LeGraph.Chart.Export Filename:=Fich, FilterName:="GIF"
       LeGraph.Delete
    End If
Next Nms
MsgBox j 'pour TEST
For k = LBound(tablo) To UBound(tablo)
Debug.Print tablo(k)
Next k
End Sub

PS: Je ne comprends pas à quoi te sert NomFich dans cette macro ?
 

fb62840

XLDnaute Impliqué
Re : Placer des chemins d'accès à des fichiers images dans une array

Bonjour,

Merci.

Je vais tester la proposition.

Précision : bien entendu toutes les infos sont fictives (faux noms, prénoms...). Je ne publie bien entendu jamais de fichiers avec des infos personnelles réelles.

Bonne journée.
 

Discussions similaires

Réponses
21
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…