Insertion d'images automatisée

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Liyah

XLDnaute Nouveau
Bonjour,

Je suis nouvelle dans l'utilisation du VBA pour automatiser mes opérations sur Excel. Je suis confrontée à un problème qui me semblait de premier abord assez simple...
Je m'explique:

J'ai importé 39 fichiers textes dans 39 feuilles différentes. Cela fonctionne bien.
Je souhaite maintenant importer dans chacune de ces feuilles une image différente. Chacune de mes images est numérotée de 1 à 39 et doit être inséré dans sa feuille associée.
Je n'arrive pas à programmer cela, serait ce possible d'avoir quelques pistes pour m'aider...

Merci par avance

Pour importer mes fichiers textes j'avais utilisé ce code: (je n'arrive malheureusement pas à l'adapter a mon insertion d'images)

Dim MainWbk As String
Dim lngCount As Long

MainWbk = ActiveWorkbook.Name

' Ouvrir la fenetre de dialogue pour sélectionner les fichiers à ouvrir
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Show

' Affichage des chemins de chaque fichier selectionné
Application.ScreenUpdating = False

' Début de la boucle
For lngCount = 1 To .SelectedItems.Count

' Ouverture du fichier texte dans une feuille excel
Workbooks.OpenText Filename:=.SelectedItems(lngCount), _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=True, _
OtherChar:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), _
Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1)), _
TrailingMinusNumbers:=True

Sheets(1).Move After:=Workbooks(MainWbk).Sheets(Workbooks(MainWbk).Sheets.Count)
Next lngCount
End With
End Sub
 
Re : Insertion d'images automatisée

Bonsoir Liyah et bienvenue sur XLD 🙂

En supposant que les feuilles sont nommées 1 2 3 etc.

Code:
Sub InsertImage()
Dim i, x As Integer, nom As String, ws As Worksheet, cel As Range, rep, img

ActiveSheet.DrawingObjects.Delete
For i = 0 To 29
x = i + 1
nom = x
   For Each ws In Worksheets
If nom <> "" And ws.Name = nom Then
ws.Activate
  rep = ThisWorkbook.Path & "\" & nom & ".gif"
  Set img = ActiveSheet.Pictures.Insert(rep)
  Set cel = ws.Range("f2")
  img.Top = cel.Top
  img.Name = nom
  End If
Next ws
  Next i
End Sub

Si Les feuilles sont nommées "Feuil1" - "Feuil2" etc; renomme les images comme le nom des feuilles.
Ensuite, change nom = x par nom = "Feuil" & x
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
3 K
Réponses
8
Affichages
906
  • Question Question
Power Query power query
Réponses
22
Affichages
4 K
  • Question Question
Microsoft 365 Programme trop lent
Réponses
12
Affichages
897
Retour