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 :

supprimer des objets crées dynamiquement [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 53
    Points : 34
    Points
    34
    Par défaut supprimer des objets crées dynamiquement
    Bonjour, j'ai enfin réussi a créer dynamiquement des objets mais .... maintenant il faut le supprimer (quelle galère ce code !!!!!)

    voila mon bout de code qui crée les objets :


    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
    Private Sub Worksheet_Activate()
     
    Dim obj As OLEObject
     
        Dim i As Integer
        Dim n As Long
        n = Sheets("BD").Range("X2").Value - 1
     
    For i = 0 To n
     
        Set obj = ActiveSheet.OLEObjects.Add("Forms.CommandButton.1")
        With obj
            .left = 750 'position horizontale
            .top = 190 + i * 35 'position verticale
            .width = 63.75 'largeur
            .height = 25 'hauteur
            .Object.Caption = "VOIR"
            .Visible = True
        End With
        Next i
    End Sub


    Mais comment les supprimer maintenant sans mettre la pagaille dans ma feuille

    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 357
    Points : 355
    Points
    355
    Par défaut
    Pourquoi supprimer ces boutons ? de plus que font-ils ? N'est-il pas possible de les rendre juste invisible ?

    PS : j'ai inséré le code dans un nouveau classeur excel, et ca bug direct. Pourrait-on avoir un exemple du fichier ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Points : 343
    Points
    343
    Par défaut
    Bonjour,

    comme tu les as créés avec comme Caption "VOIR", on va les supprimer grâce à cette propriété...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub suppr()
    Dim obj As OLEObject
    For Each obj In ActiveSheet.OLEObjects
        If obj.Object.Caption = "VOIR" Then obj.Delete
    Next obj
    End Sub

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Points : 343
    Points
    343
    Par défaut
    Re-,

    neninio31, ceci est un forum d'entr'aide, et non MSN....

    Je ne réponds pas aux messages privés...

    si tu as un souci avec le code fourni, utilise le forum...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 53
    Points : 34
    Points
    34
    Par défaut ça ne marche pas
    le code du message ci-dessus ne fonctionne pas

    erreur 408

    Méthode non gérée par l'objet

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Points : 343
    Points
    343
    Par défaut
    Re-,

    c'est bizarre...

    J'ai utilisé ton code pour créer les boutons...

    Et mon code, pour les supprimer...

    As-tu bien recopié tout le code, notamment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If obj.Object.Caption = "VOIR" Then obj.Delete

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 53
    Points : 34
    Points
    34
    Par défaut toujours pas
    Non j'ai bien recopié le code et c'est justement à cette ligne que ça bloque

    erreur 438

    Propriété ou Méthode non géré par cet objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If obj.Object.Caption = "VOIR" Then obj.Delete

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Points : 343
    Points
    343
    Par défaut
    Bonsoir,

    peux-tu mettre les 2 codes que tu utilises?

    Le 1 er, pour créer tes CommandButtons...

    Ainsi que le 2 ème, qui permet de les supprimer...

    Stp...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 53
    Points : 34
    Points
    34
    Par défaut les codes sont dans la discussion
    les codes sont dans la discussion

    créer message 1

    supprimer message 3

    merci

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Points : 343
    Points
    343
    Par défaut
    RE-,

    Comme tu le dis si bien :

    les codes sont dans la discussion

    créer message 1

    supprimer message 3
    Les réponses sont dans la discussion....

    Ah, on n'avance pas?

    Nan...

    Etonnant...

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 53
    Points : 34
    Points
    34
    Par défaut
    Re

    oui je sais tres bien !! mais pour plus de precision j'ai copié ce code dans une


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sub commandbutton_click() 
    "code supprimer" (mot pour mot)
    end sub
    et il me renvoit une erreur 438
    Méthode ou propriété non géré par l'objet

    j'ai le code au boulot mais je suis quasiment sur que ca vient de cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    obj.Object.Caption="Voir" .....

    Merci

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 53
    Points : 34
    Points
    34
    Par défaut on y est presque
    Bonjour
    j'ai réussi a squizzer l'erreur avec ceci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Obj As OLEObject
     
    For Each Obj In ActiveSheet.OLEObjects
     
        If Obj.name = ("VOIR") Then Obj.Delete
     
    Next Obj

    mais le probleme c'est que ça ne supprime aucun bouton

    svp je sens que j'y suis presque !!!!!!!



    merci

  13. #13
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Quand tu créés tes bouton tu donne un certain nombre d'info
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            .left = 750 'position horizontale
            .top = 190 + i * 35 'position verticale
            .width = 63.75 'largeur
            .height = 25 'hauteur
            .Object.Caption = "VOIR"
            .Visible = True
    Tu ne leur donne pas de name du coup tu auras beau testé le nam des bouton tu ne trouvera rien.
    Tu peux essaye de leur donner un nom (attention il devra etre unique)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    For i = 0 To n
     
        Set obj = ActiveSheet.OLEObjects.Add("Forms.CommandButton.1")
        With obj
            .left = 750 'position horizontale
            .top = 190 + i * 35 'position verticale
            .width = 63.75 'largeur
            .height = 25 'hauteur
            .Object.Caption = "VOIR"
            .Visible = True
            .name="VOIR" & n
        End With
        Next i
    End Sub
    ensuite tu test les noms (enfin juste les 4 premier caractères)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If left(Obj.name,4) = "VOIR" Then Obj.Delete
    Par contre dès que tu donne un code même un petit morceau utilise les balises, la les modérateur sont obligé de le faire a ta place pour que ton message soit lisible et a mon avis il ont vraiment autre chose a faire (ca leur laisserai le temps de répondre au questions par exemple et souvent ils sont vraiment bon)
    Si tu ne sais pas faire tout est expliqué dans ce poste
    http://www.developpez.net/forums/d56...ation-boutons/
    Il y a un lien vers une démo très claire après avoir vu ca même un candidat de télé réalité pourrait le faire. (heu si il y en a qui passe sur le forum, ben heu vous avez le lien suffit de cliquer dessus )

    Edit au passage profite en pour éditer tous les messages ou tu ne l' as pas fait

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 53
    Points : 34
    Points
    34
    Par défaut merci merci merci et pardon pour les balises
    merci tout est nickel
    je suis presque au bout de ce maudit code


    pardon a tous les moderateurs pour les balises

    Merci

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

Discussions similaires

  1. recuperer des objets crées dynamiquement
    Par riemp dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/05/2011, 18h09
  2. supprimer des labels crées dynamiquement
    Par patbou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/10/2007, 13h53
  3. effacer des composants crée dynamiquement
    Par forzaxelah dans le forum Delphi
    Réponses: 7
    Dernier message: 29/06/2006, 14h14
  4. Comment supprimer des objets
    Par akrobat dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 17/06/2006, 11h48
  5. Réponses: 9
    Dernier message: 31/05/2006, 11h56

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