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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [ Résolu ] [excel 2007] copier une image d'un worksheet à un autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ Résolu ] [excel 2007] copier une image d'un worksheet à un autre

n°1967660
blooodydie
Posté le 19-02-2010 à 16:22:51  profilanswer
 

[ Résolu ]
 
arf...
encore plus drôle...
 
Si j'inclue l'image en tant que commentaire dans une feuille : il semblerait qu'une bête copie de worksheet fonctionne si je la copie de manière unitaire (je veux dire par là, si je ne fait une procédure qui ne fait que ça dans mon traitement excel).
 
Par contre la même ligne de copie, incluse dans une boucle qui va ouvrir de nombreux fichier excel et copier la feuille numéro 2, là j'ai le message comme quoi excel ne trouve pas l'image, qu'il manque peut être de mémoire etc...
(une image qui fait 10ko).
 
là je sèche...
 
en gros :
si je fais un bouton qui ne lance que cette proc, ça marche :
 
 

Public Sub copy_logo_test()
    Dim initWkBkCount As Integer
    initWkBkCount = Workbooks.Count
    If open_workbook(COMtest, True) Then
        Workbooks(Workbooks.Count).Worksheets(1).Copy _
            After:=Workbooks(initWkBkCount).Worksheets(2)
        Workbooks(Workbooks.Count).Close SaveChanges:=False
    End If
     
End Sub


 
où open_workbook est une fonction qui vérifie que le fichier excel existe et l'ouvre (en ReadOnly ou en RW selon que le 2ème arg est False ou True).
 
par contre, dans une boucle qui copie toutes les worksheets à partir de la WkSheet numéro AgReportWkShNb  
là ça ne copie pas l'image...
 
(extraits)


 For fpaglsCounter = 1 To MaxFullPathAgencyNumber
 
       FullPathAgencyName = FullPathAgenciesList(fpaglsCounter)
 
       If open_workbook(FullPathAgencyName) Then
 
            For wkshCounter = AgReportWkShNb To Workbooks(Workbooks.Count).Worksheets.Count
 
                  Workbooks(Workbooks.Count).Worksheets(wkshCounter).Copy _
                       After:=Workbooks(intCurWkBk).Worksheets(intCurWkSh)
                  intCurWkSh = intCurWkSh + 1
 
            Next wkshCounter
 
      End If
 
Next fpaglsCounter  


 
Une idée du pourquoi ????
 
au cas où je vous livre ma fonction open_workbook....
 


Public Function open_workbook(InputFile As String, Optional ReadOnly As Boolean) As Boolean
    'checks weither workbook exists, then open the named workbook
    'in ReadOnly mode by default if no access mode is supplied
    'arguments are: workbook_name, (optional access mode's name ReadOnly )
    'access_mode may be either False (ReadWrite), or True (ReadOnly)
    'if no access_mode is given, RO mode is assumed
    Dim Access As Boolean
    If IsMissing(ReadOnly) Then
        ReadOnly = True
    End If
 
    If does_file_exist(InputFile) Then
        Workbooks.Open Filename:=InputFile, UpdateLinks:=True, ReadOnly:=ReadOnly
        open_workbook = True
      Else
        open_workbook = False
    End If
End Function


 
Solution :
En fait, au début dans ma fonction open_workbook, le UpdateLinks était à False :
 

Workbooks.Open Filename:=InputFile, UpdateLinks:=False, ReadOnly:=ReadOnly


 
et j'ai du faire une modif sans refaire tourner ma proc en mettant l'UpdateLinks à True:

Workbooks.Open Filename:=InputFile, UpdateLinks:=True, ReadOnly:=ReadOnly


 
et là ça marche !!!
 
c'est con quand même (mais en même temps logique)....
 
Ce que je ne m'explique pas c'est que ma fonction a toujours été codé avec l'UpdateLinks à False et pourtant à un moment j'avais partiellement des fichiers avec le logo... peut être que je les ouvrais avec la proc native d'excel (Workbooks.Open etc...) ???


Message édité par blooodydie le 23-02-2010 à 14:24:54

---------------
[Feed back] [Ventes]
mood
Publicité
Posté le 19-02-2010 à 16:22:51  profilanswer
 

n°1967675
blooodydie
Posté le 19-02-2010 à 16:43:45  profilanswer
 

alors ?
personne ?


---------------
[Feed back] [Ventes]
n°1968213
blooodydie
Posté le 22-02-2010 à 16:25:05  profilanswer
 

ah merde j'ai effacé le premier post en l'éditant (me suis trompé de bouton c'était répondre que je voulais faire).


Message édité par blooodydie le 22-02-2010 à 16:35:45

---------------
[Feed back] [Ventes]

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [ Résolu ] [excel 2007] copier une image d'un worksheet à un autre

 

Sujets relatifs
Cellules Excel / VBA[Résolu]Date('Y') +1
[Résolu] htaccess change tout seul...Convertir des formules Excel dans un langage algorithmique
[Résolu] Faire plusieurs requetes mysql en meme tempsLire un fichier excel depuis VB.NET
lier deux fichiers excelAccess 2007 left join qui fonctionne comme inner join ???
Problème Fonctionnement fichier Excelentier a valeur maximum. (RESOLU)
Plus de sujets relatifs à : [ Résolu ] [excel 2007] copier une image d'un worksheet à un autre


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