Lenteur Classeur Excel Image

Salut,

ci-joint le test comme demandé, effectivement c'est bel et bien la fonction "appareil photo" qui fait ralentir le classeur.

En gros j'ai copié plusieurs fois la feuille L.1 avec les images mais sans la fonction recherche de "l'appareil photo".

Si tu as une macro vba qui fait la même chose je suis preneur !

15fichier-essaie-2.xlsm (936.36 Ko)

re

faut cliquer où ?

pourquoi tant d'onglets tous pareils ?

Pour le test ils sont pareils, normalement chaque onglet est diff. suivant les paramètres que l'on indique.

Avec ce fichier excel (trouvé sur un autre sujet) il fait a peu près ce que je recherche.

Je suis encore débutant en VBA. Est ce qlq arriverait à introduire ce code sur mon fichier excel pour faire ce que je demande avec mes images. Attention le code doit se trouver sur la feuille L.1 pour qu'il soit ensuite réutilisable sur les autres feuilles (L.2, L.3....etc)

MERCI

C'est bon j'ai résolu le problème merci pour votre patience

Hum ! Je t'avais réécrit une procédure de duplication de feuille, que tu pourras toujours tester...

Sub DupliquerFeuilleL()
    Dim PlgD$, n%, i%, nF() As Integer, ws As Worksheet
    PlgD = "normal"
    With Worksheets("L.1")
        If .Range("AB1") <> "" Then
            PlgD = .Range("AB1")
        Else
            .Range("AB1") = PlgD
        End If
        n = Range(PlgD).Rows.Count
        For i = 6 To 18 Step 6
            .Range("R" & i) = Range(PlgD).Cells(n, 1)
        Next i
    End With
    ReDim nF(Worksheets.Count)
    For Each ws In Worksheets
        If ws.Name Like "L.*#" Then
            n = CInt(Split(ws.Name, ".")(1)): nF(n) = n
        End If
    Next ws
    For i = 1 To UBound(nF)
        If nF(i) = 0 Then n = nF(i - 1) + 1: nF(0) = nF(i - 1): Exit For
    Next i
    Application.ScreenUpdating = False
    Worksheets("L.1").Copy after:=Worksheets("L." & nF(0))
    With ActiveSheet
        .Name = "L." & n
        .Tab.Color = IIf(n Mod 2 = 0, RGB(16, 52, 166), RGB(44, 117, 225))
    End With
End Sub

qui effectue la copie uniquement à partir de L.1.

Le temps d'exécution mesuré en est de 548 millisecondes, soit légèrement plus d'une demi-seconde, ce qui pourrait, à la rigueur, convenir, cependant si on enchaîne en boucle 14 copies pour créer les feuilles 2 à 15, la durée globale n'est pas de l'ordre de 15 secondes, mais dépasse 28 secondes.

Ce qui me laisse penser que ton classeur est encore affecté par des pesanteurs que je n'identifie pas (une fois invalidée la Change qui plantait...)

NB- ne te focalise pas sur l'appareil photo, tu l'as utilisé pour mettre en place ton système, mais une fois fait, il ne joue plus aucun rôle...

Cordialement.

re

MFerrand,

bien le jeu de mot "focaliser sur un appareil photo"

Pas fait exprès, mais merci de le relever, c'est drôle !

L'outil a sans doute permis de mettre en place le cadre, mais une fois la formule placée, il ne joue plus aucun rôle et n'apparaissant pas dans le code, il n'intervient pas...

Je m'en suis souvent servi pour afficher des messages : on les fait mettre en forme par Excel dans une plage (cachée) et on balance une photographie de la plage, une fois lu le message l'utilisateur clique et il disparaît. Cela permet des messages plus sophistiqués que les moyens habituels...

Bonne journée.

Pour vous répondre, j'ai remplacé le système de l'appareil photo par une macro VBA qui sélectionne les images et c'est nickel chrome, le classeur en vachement plus rapide!

Voila voila

Encore merci

Oublie l'appareil photo ! Tu as un dispositif de recherche d'image par formule, qui n'est rien d'autre qu'un RECHERCHEV classique adapté à des images. Plus aucune incidence de l'appareil photo là-dedans !

Si tu abandonnes ce dispositif, tu peux effectivement insérer les images par copier-coller, ce que je t'avais initialement proposé, que tu as refusé...

S'agissant d'images importées, si tu disposes toujours des images d'origine tu peux refaire des imports au cas par cas, à la demande.

(On peut aussi les extraire de la feuille pour les enregistrer en tant que fichiers images, ce qui permet de les réimporter, mais dans ce cas, il vaut mieux utiliser la source d'origine ou la recréer une fois pour l'utiliser...)

Maintenant, si tes images avaient été construites à partir de formes, on pouvait coder leur construction pour les reconstruire et supprimer à chaque fois, au fil des besoins. Mais ce n'est pas le cas, donc cette possibilité tombe.

Et, à moins que ma mémoire ne me fasse défaut, je ne vois pas d'autres possibilités !

Cordialement.

Rechercher des sujets similaires à "lenteur classeur image"