IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Affichage éléments feuille lors survol souris


Sujet :

Macros et VBA Excel

  1. #21
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    un exemple où je n'affiche que année et ville au survol. Je te laisse la partie nombres à lister qui n'est pas le coeur du sujet.
    Source : http://optionexplicitvba.blogspot.fr...er-b8-ov1.html

    Mais bon, si tu n'es pas à un clic près l'événement SelectionChange() est plus simple et plus souple.
    eric
    Fichiers attachés Fichiers attachés

  2. #22
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re solution beaucoup plus propre
    Bonjour
    je te propose aujourd'hui une solution beaucoup plus propre
    en effet le move du label est pas mal mais selon la puissance du PC tu l'a remarqué c'est pas jojo
    alors on va carrément changé de trajectoire
    je te propose donc aujourd'hui la plage de cellule correspondante en commentaire qui s'affiche lors que tu survole la cellule
    je te laisse découvrir le fichier en exemple pour en digérer le code
    et regarder aussi la capture animé que voici
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    Merci eriiic,

    J'ai essayé d'ouvrir ton fichier test, mais....il n'arrive pas à se télécharger...?


    Super merci patricktoulon,

    Ton code fonctionne idéalement, et je pense avoir compris la logique : tu analyses la feuil2, tu transformes en image l'intersection choisie, la mets en "provisoire" en Jpeg et l'inclue dans un commentaire....super bien vu !!!!

    Juste pour le fun et/ou optimisation (=éviter que je passe par un code transformant les données de Feuil3 et les mette en forme en Feuil2), est-il possible d'obtenir le même résultat que fait ton code en se basant uniquement par rapport à la feuil3 ?

    En te remerciant pour ton aide, et chapeau pour le code , c'est là que je vois qu'il me reste encore beaucoup à apprendre....
    Merci

  4. #24
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut
    Re
    Je regarderais cela. Cet aprem. Pour le moment boudirect is je pense que oui c est du domaine du possible
    Il faut refaire le meme. Travail de correspondance
    En direct. De l exterieur avec mon super smart phonne

    bon je viens de regarder ta feuille 3 et je comprends ce que tu veux exactement comme résultat
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #25
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    Super merci patricktoulon,

    OK, j'ai hâte de découvrir le nouveau code, car cela fait 15 jours que je patauge....

    et vive les smartphones qui permettent de voir les discussions en cours .....

    Merci pour ton aide,

  6. #26
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour Eric je veut bien t'esquisser un petit code mais faut il encore que je sache le résultat que tu veut avec ta feuille 3

    sachant qu'il y a qu'une seule ligne d'entête la capture sera forcement sans l'entête des colonnes a moins de faire 2 captures puis merger les deux images avec la fonction groupe des shapes

    mais pour le moment je voudrais bien que tu me présente au moins un tableaux que tu souhaiterais voir apparaitre je ferait avec
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #27
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    Re merci patricktoulon,

    Je comprends le problème....

    Pour le tableau, on peut prendre par exemple, le tableau de la feuil2 A1 : B10, c'est ce type de tableaux que je cherche à obtenir, à partir directement de la feuil3....

    Mais je comprends que les entêtes posent problème, mais à la limite, on peut s'en passer car l'intersection (D4 dans la feuil1 par exemple) on sait bien que c'est Nice et 2010, donc pas "besoin" des entêtes...

    Après je pense que le souci peut venir de la "photo" : si je veux 2010, pas trop de souci, on peut sélectionner A : B, mais si c'est 2015, il faut aller jusqu'à G....à la limite, si c'est une photo, on peut masquer les colonnes....une idée comme ça.... mais j'ai toujours le chic de compliquer, alors qu'il y a peut-être un moyen plus simple.....

    En te remerciant,

  8. #28
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    re
    donc a fait tu veux la même chose entêtes ou pas OK
    l'idée de masquer les colonnes pendant la capture n'est pas une si mauvaise idée pour l'entête je verrais
    maintenant il va falloir que je reprenne tout la formule de calcule des lignes colonne correspondantes a chaque cellule de la feuille 1
    bon!! a plus
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #29
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    Re,

    Super merci patricktoulon,

    Et puisque le masquage des colonnes pourrait marcher, peut être idem avec les lignes alors ?

    Ce qui voudrait dire qu'à chaque survol souris, il faut que la feuil3 se modifie (=mise en forme)....?

    Bref, j'ai très hâte de voir ton code.

    Merci pour ton aide,

  10. #30
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    Re,

    Pour info,

    Après plusieurs manipulations du fichier test, j'ai mis l'image en format "bmp" plutôt que "jpeg" (car je trouvais que la "photo" n'était pas nette), et en bmp elle est plus nette.

    Merci pour ton aide,

  11. #31
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    Bonjour Eric
    oui peut être mais BMP est plus lourd
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #32
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    Re,

    Oui, c'est vrai, tu as raison. Finalement Jpeg est le meilleur compromis : j'ai fait des essais avec png aussi, mais résultat idem....donc, jpeg

    Merci pour ton aide,

  13. #33
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    Tada!!!!

    Nom : demo1.gif
Affichages : 344
Taille : 1,11 Mo

    Nom : demo2.gif
Affichages : 327
Taille : 1,85 Mo
    Fichiers attachés Fichiers attachés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #34
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    Woouuuuffff tu veux dire ...!!!

    Génial ! exactement ce que je recherchais !!!!

    (il y a juste un petit souci avec Antibes, tu verras il met l'entête), mais super, extra génial !!!

    Si j'ai bien compris ton code, tu tries par ville, identifie les plages (addrb) et les colle dans I, en reprenant l'entête (addr1), exactement ce que tu avais dit que tu allais faire.... top du top !!!

    Par contre, il y a un truc que je ne comprends pas : je prends l'exemple de Saint Laurent du Var (nom de ville large), donc j'ai agrandi la colonne A de la feuil3, et lorsque je refais tourner le code, il "diminue" les chiffres et l'entête, donc j'ai "élargi" la colonne I de la feuil3 et refais tourner le code pour voir et cela n'a rien changé....toujours "rétréci"....je pense que cela vient de la "photo", mais je ne vois pas où.....

    Merci et félicitations pour ce magnifique code !!!

    Merci pour ton aide,

  15. #35
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    voila j'avais quelques meprise et en plus j'ai corrigé la dimention
    regarde bien le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    Sub test6()
        Dim addr1 As String
        deletecom
        With Sheets(1).Range(Cells(4, 4), Cells(Rows.Count, 9).End(xlUp))
            For X = 1 To .Cells.Count
                addr1 = ""
                année = .Cells(3, .Cells(X).Column).Value
                Sheets(3).Range("$A$3:$A" & Cells(Rows.Count, 1).End(xlUp).Row).AutoFilter Field:=1, Criteria1:=Sheets(1).Cells(.Cells(X).Row, 3).Value
                addr1 = Sheets(3).AutoFilter.Range.SpecialCells(xlCellTypeVisible).Address
                If InStr(addr1, ",") > 0 Then addr1 = Split(addr1, ",")(1)
                lig1 = Split(addr1, "$")(2)
                If lig1 = 1 Then lig1 = 2
                lig2 = Split(addr1, "$")(4)
                Sheets(3).Cells.AutoFilter
                Select Case .Cells(X).Column
                Case 4: addrb = "B" & lig1 & "B" & lig2
                Case 5: addrb = "C" & lig1 & "C" & lig2
                Case 6: addrb = "D" & lig1 & "D" & lig2
                Case 7: addrb = "E" & lig1 & "E" & lig2
                Case 8: addrb = "F" & lig1 & "F" & lig2
                Case 9: addrb = "G" & lig1 & "G" & lig2
                End Select
                With Sheets(3)
                    .Cells(3, 9) = .Range(addr1).Cells(1)
                    .Cells(4, 9).Resize(.Range(addrb).Rows.Count, 1) = .Range(addrb).Value
                    .Columns(9).AutoFit: .Columns(9).ColumnWidth = .Columns(9).ColumnWidth + 3
     
                    .Cells(3, 9).Resize(.Range(addrb).Rows.Count + 2, 1).CopyPicture
                    Set suport = .ChartObjects.add(0, 0, .Range(addrb).width, .Range(addrb).height + 20)
                    suport.Chart.Paste
                    suport.Chart.Export ThisWorkbook.Path & "\map.BMP", "BMP"
                    suport.Delete
                    .Cells(3, 9).Resize(.Range(addrb).Rows.Count, 1).ClearContents
                    addrdim = .Cells(3, 9).Resize(.Range(addrb).Rows.Count + 2, 1).Address
                End With
                .Cells(X).AddComment
                '.Cells(X).Comment.Text Text:=addrB
                With .Cells(X).Comment.Shape
                    .width = Sheets(3).Range(addrdim).width
                    .height = Sheets(3).Range(addrdim).height + 20
                    .Fill.UserPicture ThisWorkbook.Path & "\map.BMP"
                End With
            Next
        End With
        Sheets(3).Cells(3, 9).Resize(20, 1).ClearContents
    End Sub
    maintenant c'est bon je regarde pour corrigé Antibes j'ai pas encore trouvé moyen
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #36
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    Re,

    Cool !! j'ai vu où tu avais agit.....et je comprends la logique du code....Merci !!!

    par contre, pour éviter des formats trop différents, je pense que je vais essayer de mettre l'entête en "auto dimension" et par contre mettre les chiffres avec le même format (exemple largeur colonne 12), comme ça les formats (hauteur/largeur) des chiffres restent les mêmes....

    Merci pour ton aide,

  17. #37
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    re
    largeur identique pour tous et Antibes corrigé et ajout de l'année dans la barre de titre du commentaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Sub test6()
     
        Dim addr1 As String
        deletecom
        With Sheets(1).Range(Cells(4, 4), Cells(Rows.Count, 9).End(xlUp))
            For X = 1 To .Cells.Count
                 an = .Parent.Cells(3, .Cells(X).Column).Text
                 addr1 = ""
                année = .Cells(3, .Cells(X).Column).Value
                Sheets(3).Range("$A$3:$A" & Cells(Rows.Count, 1).End(xlUp).Row).AutoFilter Field:=1, Criteria1:=Sheets(1).Cells(.Cells(X).Row, 3).Value
                addr1 = Sheets(3).AutoFilter.Range.SpecialCells(xlCellTypeVisible).Address
                If InStr(addr1, ",") > 0 Then addr1 = Split(addr1, ",")(1)
                lig1 = Split(addr1, "$")(2)
                If lig1 = "1:" Then lig1 = "2:"
                lig2 = Split(addr1, "$")(4)
                Sheets(3).Cells.AutoFilter
                Select Case .Cells(X).Column
                Case 4: addrb = "B" & lig1 & "B" & lig2
                Case 5: addrb = "C" & lig1 & "C" & lig2
                Case 6: addrb = "D" & lig1 & "D" & lig2
                Case 7: addrb = "E" & lig1 & "E" & lig2
                Case 8: addrb = "F" & lig1 & "F" & lig2
                Case 9: addrb = "G" & lig1 & "G" & lig2
                End Select
     'Debug.Print addrb
     
                With Sheets(3)
                    .Cells(3, 9) = .Cells(Val(lig1), 1) & " | " & an
                    .Cells(4, 9).Resize(.Range(addrb).Rows.Count, 1) = .Range(addrb).Value
                    .Columns(9).ColumnWidth = 23
     
                    .Cells(3, 9).Resize(.Range(addrb).Rows.Count + 2, 1).CopyPicture
                    Set suport = .ChartObjects.add(0, 0, .Range(addrb).width, .Range(addrb).height)
                    suport.Chart.Paste
                    suport.Chart.Export ThisWorkbook.Path & "\map.BMP", "BMP"
                    suport.Delete
                    .Cells(3, 9).Resize(.Range(addrb).Rows.Count, 1).ClearContents
                    addrdim = .Cells(3, 9).Resize(.Range(addrb).Rows.Count + 2, 1).Address
                End With
                .Cells(X).AddComment
                '.Cells(X).Comment.Text Text:=addrB
                With .Cells(X).Comment.Shape
                    .width = Sheets(3).Range(addrdim).width
                    .height = Sheets(3).Range(addrdim).height
                    .Fill.UserPicture ThisWorkbook.Path & "\map.BMP"
                End With
            Next
        End With
        Sheets(3).Cells(3, 9).Resize(20, 1).ClearContents
       End Sub
    voila c'est quand même plus propre que jouer avec un label non?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #38
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    Super cool !!!

    Tout fonctionne parfaitement !!

    J'ai juste mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Cells(3, 9) = .Cells(Val(lig1), 1) ' & " | " & an
    ,

    Par contre, à moins d'une déficience visuelle de fin de journée (suite à nos fortes chaleurs....), j'ai l'impression que la "photo" est plus "floue" que dans le précédent code.....illusion d'optique ? (j'ai essayé avec jpeg et c'est encore pire....) et Mougin n'a pas le même format....

    J'ai "regardé" le code et je ne vois pas où le problème se situe, enfin, s'il y a un problème.....

    Merci pour ton aide,

  19. #39
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut re
    et oui le flou c'était une erreur de ma part en dimensionnant le chart a la dimension de addrb

    c'était a la dimension de la plage utilisée en "I" qu'il fallait la dimensionner
    maintenant la photo n'est plus déformée et donc parfaitement bien net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    Sub test6()
        Dim addr1 As String
        deletecom
        With Sheets(1).Range(Cells(4, 4), Cells(Rows.Count, 9).End(xlUp))
            For X = 1 To .Cells.Count
                an = .Parent.Cells(3, .Cells(X).Column).Text
                addr1 = ""
                année = .Cells(3, .Cells(X).Column).Value
                Sheets(3).Range("$A$3:$A" & Cells(Rows.Count, 1).End(xlUp).Row).AutoFilter Field:=1, Criteria1:=Sheets(1).Cells(.Cells(X).Row, 3).Value
                addr1 = Sheets(3).AutoFilter.Range.SpecialCells(xlCellTypeVisible).Address
                If InStr(addr1, ",") > 0 Then addr1 = Split(addr1, ",")(1)
                lig1 = Split(addr1, "$")(2)
                If lig1 = "1:" Then lig1 = "2:"
                lig2 = Split(addr1, "$")(4)
                Sheets(3).Cells.AutoFilter
                Select Case .Cells(X).Column
                Case 4: addrb = "B" & lig1 & "B" & lig2
                Case 5: addrb = "C" & lig1 & "C" & lig2
                Case 6: addrb = "D" & lig1 & "D" & lig2
                Case 7: addrb = "E" & lig1 & "E" & lig2
                Case 8: addrb = "F" & lig1 & "F" & lig2
                Case 9: addrb = "G" & lig1 & "G" & lig2
                End Select
                With Sheets(3)
                    .Cells(3, 9) = .Cells(Val(lig1), 1) & " | " & an
                    .Cells(4, 9).Resize(.Range(addrb).Rows.Count, 1) = .Range(addrb).Value
                    .Columns(9).AutoFit    'ColumnWidth = 23
                    Set cop = .Cells(3, 9).Resize(.Range(addrb).Rows.Count + 2, 1)
                    cop.CopyPicture
                    Set suport = .ChartObjects.add(0, 0, cop.width, cop.height)
                    suport.Chart.Paste
                    suport.Chart.Export ThisWorkbook.Path & "\map.BMP", "BMP"
                    suport.Delete
                    .Cells(3, 9).Resize(.Range(addrb).Rows.Count, 1).ClearContents
                    addrdim = .Cells(3, 9).Resize(.Range(addrb).Rows.Count + 2, 1).Address
                End With
                .Cells(X).AddComment
                '.Cells(X).Comment.Text Text:=addrB
                With .Cells(X).Comment.Shape
                    .width = Sheets(3).Range(addrdim).width
                    .height = Sheets(3).Range(addrdim).height
                    .Fill.UserPicture ThisWorkbook.Path & "\map.BMP"
                End With
            Next
        End With
        Sheets(3).Cells(3, 9).Resize(20, 1).ClearContents
    End Sub
    parfaitement parfait !!!!

    bon tu l'aura compris

    on détermine la colonne du sheets(3) selon la colonne du sheets 1 (les select case )

    l'autofilter filtre par la colonne "A" du sheets (3) ce qui correspond a la la colonne 3 sur la même ligne que la cellule (x) dans la boucle sur la plage

    une fois cela fait on copie la cellule1 du filtre qui est donc le nom en colonne A du sheets(3) et on la met dans la cellule marron de "I" on copie ensuite la plage filtrée que l'on colle dans "i" a la suite
    on a maintenant en colonne "i" la plage a photographier
    on créé un chart a la dimension de "i" utilisée et on colle la copie de "i"
    on exporte le chart en image sur disque et on met le fichier image en commentaire
    on supprime le fichier image et cela x fois le nombre de cellule dans la plage en sheets(1)

    c'est nickel maintenant et net !!!!!
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  20. #40
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut
    La classe totale patricktoulon !!!!!

    MERCI !!!

    Là, tout fonctionne nickel de chez nickel !!! et en plus tu me donnes les explications plus techniques sur la logique du code...MERCI

    Dommage qu'on ne puisse pas mettre plus de "up"....

    Merci pour ton aide, c'est parfaitement parfait

    Me reste plus qu'à le travailler et l'adapter à mon fichier, mais c'est bon, j'ai tous les éléments et toutes les explications, merci

    A+ pour de prochaines aventures

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Affichage d'images au survol de la souris
    Par Spirit94 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 24/04/2014, 15h21
  2. Affichage page web lors d'un survol de souris
    Par guigui69 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/07/2008, 17h59
  3. Réponses: 5
    Dernier message: 05/09/2006, 21h45
  4. Réponses: 11
    Dernier message: 11/06/2005, 15h08
  5. Changer la couleur du texte lors passage souris sur un TD !
    Par Kokito dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/01/2005, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo