Renommer des fichiers en fonction des valeurs d'une colonne
Résolu/Fermé
Louloude74
Messages postés
62
Date d'inscription
mercredi 1 août 2018
Statut
Membre
Dernière intervention
17 avril 2024
-
24 août 2020 à 22:19
Louloude74 Messages postés 62 Date d'inscription mercredi 1 août 2018 Statut Membre Dernière intervention 17 avril 2024 - 25 août 2020 à 21:58
Louloude74 Messages postés 62 Date d'inscription mercredi 1 août 2018 Statut Membre Dernière intervention 17 avril 2024 - 25 août 2020 à 21:58
A voir également:
- Renommer des fichiers en fonction des valeurs d'une colonne
- Renommer plusieurs fichiers en même temps - Guide
- Déplacer une colonne excel - Guide
- Fonction si et - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
2 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
25 août 2020 à 08:37
25 août 2020 à 08:37
Louloude74
Messages postés
62
Date d'inscription
mercredi 1 août 2018
Statut
Membre
Dernière intervention
17 avril 2024
1
25 août 2020 à 21:58
25 août 2020 à 21:58
Bonsoir,
Merci beaucoup pour le lien.
Je suis parti sur une autre voix. En effet, dans le dossier sur lequel je travaillais était un échantillon. Sur le fichier de base il existe des lignes sans image et je ne peux pas bêtement dire que l'image001 correspond à la la ligne1.
J'ai alors pris le parti d'exporter l'image via un sharts
J'ai le code suivant :
Ce code fait exactement ce que je souhaite mais j'ai du ajouter plusieurs doevents car sinon à l'exécution de la macro seules des images blanches étaient exportées. Alors qu'en exécutant le pas à pas ça fonctionnait impeccablement.
Si quelqu'un a une idée pour remplacer les doevents. Je suis preneur.
Encore merci et bonne soirée !!!
Cdt, Ludwig
Merci beaucoup pour le lien.
Je suis parti sur une autre voix. En effet, dans le dossier sur lequel je travaillais était un échantillon. Sur le fichier de base il existe des lignes sans image et je ne peux pas bêtement dire que l'image001 correspond à la la ligne1.
J'ai alors pris le parti d'exporter l'image via un sharts
J'ai le code suivant :
Dim Fichier, Chemin, Adresse, NomFeuille, Racine As String
Dim sh As Shape, img As Object
Dim ndf, ndf1 As String
Sub extraire_img()
'Je récupre le nom de la feuille active
NomFeuille = ActiveSheet.Name
symbole = "\"
'Je récupre le chemin d'accès du dossier image
Adresse = Application.GetSaveAsFilename(NomFeuille)
If Adresse = faux Then Exit Sub
Racine = Left(Adresse, InStrRev(Adresse, symbole) - 1)
Application.ScreenUpdating = False
'Je boucle sur les images
For Each sh In ActiveSheet.Shapes
If Left(sh.Name, 1) <> "B" Then
'Je récupère le nom à donner à l'image dans la colonne de gauche
ndf = Range(sh.TopLeftCell.Address).Offset(0, -1).Text
'Je récupère le nom de fournisseur la éeme colonne de gauche
fournisseur = Range(sh.TopLeftCell.Address).Offset(0, -2).Text
'Chemin d'accès de l'image
ndf = Racine & symbole & fournisseur & symbole & ndf & ".jpg"
'Chemin d'accès du dossier fournisseur
ndf1 = Racine & symbole & fournisseur
'Je copie l'image du shape
sh.CopyPicture xlScreen, xlPicture
'Création d'un graph afin d'y stocker l'image
Set img = ActiveSheet.ChartObjects.Add(0, 0, sh.Width, sh.Height)
'Je temporise pour faciliter le collage de l'image dans le graph
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
'Je colle l'image
img.Chart.Paste
'Je vérifie si le dossier fournisseur existe
If Dir(ndf1, vbDirectory) = "" Then
'S'il n'existe pas je le créé
MkDir ndf1
End If
'J'importe l'image dans son dossier fournisseur
img.Chart.Export ndf, "JPG"
'J'efface le graph
img.Delete
End If
Next sh
Application.ScreenUpdating = True
End Sub
Ce code fait exactement ce que je souhaite mais j'ai du ajouter plusieurs doevents car sinon à l'exécution de la macro seules des images blanches étaient exportées. Alors qu'en exécutant le pas à pas ça fonctionnait impeccablement.
Si quelqu'un a une idée pour remplacer les doevents. Je suis preneur.
Encore merci et bonne soirée !!!
Cdt, Ludwig