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

Autres Copie de répertoire (mais avec son icone)

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 !

Michou9

XLDnaute Occasionnel
Bonjour à tous
J'utilise une macro pour copier des dossiers
Mais bizarrement lors de cette copie je perds son icone
Je ne comprends pas d'où cela peut venir
Et je viens chercher de l'aide sur le Forum
J'utilise Excel 2007

Sub CopieDossier()
Dim fs As Object, copie As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Set copie = fs.GetFolder _
("C:\M\MonDossier")
copie.Copy "F:\Repertoire\A\1\"
End Sub
 
Dernière édition:
en fait c'est facile à comprendre .".copy"d'un object fso.getfolder ou le ".copyfolder" de FSo copie tout en vbnormal
c'est pas plus compliqué que ca
il faut simplement lui remettre les attributs vbsystem pour le dossier et vbhidden+vbsystem pour le ".ini"
Donc ce que disait Nain porte quoi avait bien du bon !
ben non justement si dans les options de l'explorer et non le dossier "masquer les fichiers system est coché le ini n'est pas copié avec la case a cocher afficher les éléments masqués" ne sert que pour l'explorer
j'ai fait une vidéo qui le montre bien

pour info la copy avec personnalisation n'est plus automatique depuis win vista
 
Dernière édition:
au passage kado
une petite fonction qui converti un png en ico ca peux servir pour mettre des iconnes perso
mais selon l'image de base on perd une peu les couleurs
VB:
Sub test()
    Dim pngPath$, icoPath$, monicon
    ' Chemins
    pngPath = "C:\Users\patricktoulon\Desktop\monimage.png"
    icoPath = "C:\Users\patricktoulon\Desktop\monicone.ico"
    monicon = ConvertPngToICO(pngPath, icoPath)
    
End Sub

Function ConvertPngToICO(pngPath, icoPath) As String ' avec PowerShell
    Dim psScript$, x, shellCmd As String
    psScript = "Add-Type -AssemblyName System.Drawing;" & _
                "$img = [System.Drawing.Image]::FromFile('" & pngPath & "');" & _
                "$bmp = New-Object System.Drawing.Bitmap $img, 100,100;" & _
                "$icon = [System.Drawing.Icon]::FromHandle($bmp.GetHicon());" & _
                "$stream = New-Object System.IO.FileStream('" & icoPath & "', 'Create');" & _
                "$icon.Save($stream); $stream.Close();"
    
    shellCmd = "powershell.exe -NoProfile -Command " & Chr(34) & psScript & Chr(34)
    Shell shellCmd, vbHide
    Do While Dir(icoPath) = "" Or x < 2: DoEvents: x = x + 0.0001: Loop
    If Dir(icoPath) <> "" Then ConvertPngToICO = icoPath
End Function

et pour le mettre dans le dossier
VB:
Sub test2()
    Dim dossier As String, icoPath As String
    dossier = "C:\Users\patricktoulon\Desktop\MonDossier"
    icoPath = "C:\Users\patricktoulon\Desktop\monicone.ico"
    'ou utiliser une filedialogpicker
    AppliquerICOauDossier dossier, icoPath
End Sub

Sub AppliquerICOauDossier(dossier, icoPath)
    Dim fs As Object, x, EcFini
    Dim fichierINI As String, ts As Object
    Set fs = CreateObject("Scripting.FileSystemObject")
    SetAttr dossier, vbNormal
    FileCopy icoPath, dossier & "\monicone.ico" ' Copier le fichier ICO dans le dossier
    fichierINI = dossier & "\desktop.ini"
    Set EcFini = fs.CreateTextFile(dossier & "\desktop.ini", True)
    EcFini.WriteLine "[.ShellClassInfo]" & vbCrLf & "IconResource=monicone.ico,0"
    EcFini.Close
    'Shell "attrib +s """ & dossier & """", vbHide ' oldversion :Marquer le dossier comme “système” et tout ces descendants pour que l’icône soit prise en compte
    SetAttr dossier, vbSystem
    MsgBox "Icone appliqué sur dossier !"
End Sub

on a fait le tour

Patrick
 
- 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

V
Réponses
3
Affichages
985
S
Réponses
1
Affichages
1 K
S
M
Réponses
39
Affichages
4 K
R
Réponses
1
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…