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 :

VBA-E suppression d'images


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut VBA-E suppression d'images
    Bjr,

    Je n'arrive pas à supprimer des images à l'intérieur d'une plage donnée.
    J'ai essayé d'adapter le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim Obj As Shape
    Set PlageDonnees = Range("E1:E" & Range("E65536").End(xlUp).Row)
     
    For Each Obj In ActiveSheet.Shape
    Obj.Delete
    Next Obj
    End Sub
    mais si je remplace activesheet par plagedonnees il me sort une erreur.
    Est-ce faisable ?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je suppose que tes images ne sont pas dans des cellules.. Alors j'ai bien peur que tu sois obligé de repérer la position X et Y de ta plage afin de vérifier que les position X et Y de tes images soient incluses

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    tu peux tester cette adaptation


    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
    Dim Obj As Shape
    Dim Plage As Range, PlageDonnees As Range
     
    'plage de cellules cible
    Set PlageDonnees = Range("E1:E100")
     
    For Each Obj In ActiveSheet.Shapes
        'Position du Shape dans la feuille
        Set Plage = Range(Obj.TopLeftCell.Address & ":" & _
                Obj.BottomRightCell.Address)
     
        'Verifie si le shape est dans la plage de cellules cible
        If Not Intersect(Plage, PlageDonnees) Is Nothing Then _
            Obj.Delete
     
    Next Obj

    michel

  4. #4
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    Bjr silky,

    Je te remercie j'ai testé ça fonctionne.
    Mais pourquoi la première adresse retournée est $A$1 ?
    C'est parce qu'il trouve le premier objet sur la ligne 1 ?

  5. #5
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    Quetion:

    Est-ce qu'une case à cocher est considérée comme une shape ?
    Il m'a bien supprimé toutes les images mais dessous il m'a laissé des casas à cocher.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Les cases à cocher prises dans la barre d'outils commande sont des OLEObjects. Regarde l'aide à ce nom, c'est assez bien expliqué.

  7. #7
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    Elles nont pas été prises dans la barre d'outils,mais copiées dans un format html cf fichier joint.
    La méthode pour les supprimer est la même que les shape ?
    Fichiers attachés Fichiers attachés

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    N'attends pas de réponse de ma part, je n'en ai acune idée
    heureusement, "chuis pas tuseul !"

  9. #9
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    rebonsoir

    La méthode pour les supprimer est la même que les shape ?
    oui


    dans ta question initiale les shapes à supprimer étaient dans la colonne E

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set PlageDonnees = Range("E1:E" & Range("E65536").End(xlUp).Row)
    ...alors que les cases à cocher sont dans la colonne A.

    Il te suffit d'adapter la plage cible dans ta procédure...



    michel

  10. #10
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    Bjr,
    Le problème est qu'elles ne sont pas actives.
    Quand on fait in clic dessus rien ne se passe.
    Faut-il les activer et les sélectionner avant de les supprimer ?
    Pour Silky : elles se retrouvent dans la colonne où il y a mes données après
    mise en page.(suppression de certaines colonnes)

  11. #11
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    Précisions:
    J'ai fait l'essai avec le code modifié (colonne a au lieu de colonne e).
    Il supprime la case à cocher de la cellule A1 mais pas les autres.

  12. #12
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    J'ai compris le blèm:

    Je testais mon nombre de lignes pareil que pour la colonne E mais comme
    dans la colonne A il n'y a pas de données hormis les cases à cocher
    le row restait à 1.
    Merci à tout les deux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/08/2014, 14h52
  2. [VBA - Excel] Suppression d'images
    Par ancel17 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/05/2010, 14h51
  3. Réponses: 5
    Dernier message: 21/01/2007, 19h31
  4. [VBA-E]Erreur sur suppression d'images dans excel
    Par bernard38 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 18/04/2006, 13h55
  5. [VBA-E]Suppression liaisons dans excel
    Par olivier231 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2005, 10h37

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