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 :

Image bouton suppression


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut Image bouton suppression
    Bonjour à tous,

    Alors voilà mon souci,

    J'ai une image
    Nom : image annuler.PNG
Affichages : 317
Taille : 1,3 Ko

    C'est une croix que je place dans une cellule. Je souhaite qu'au click sur celle-ci,

    la ligne toute entière se supprime.

    De plus il faut que les croix s'ajoutent dès que la cellule de la colonne voisine est pleine.
    exemple: si en B2 il y a une valeur, alors une croix en A2 doit apparaitre.

    L'image a été téléchargé sur le net.
    cette image ne doit pas être stocké dans le bureau mais dans le classeur, ainsi cela fonctionnera pour toute personne recevant mon classeur par mail.

    Je ne sais même pas par quoi commencer, avez vous des pistes SVP ?

  2. #2
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Donc je reviens sur ce sujet,

    J'ai pu avancer légèrement,

    voilà ce que j'ai fais:

    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
     
     
    Sub imagesupp()
    Dim sh As Shape
     
    'On nomme la croix qui se trouve dans la feuille 3
    Sheets("Feuil3").Pictures(1).Name = "suppression"
    'On la copie
    Pictures(1).Copy
    'Création d'une boucle pour coller
    For ligne = 3 To 40000
    'Pour chaque ligne vide colonne 2 de la feuille 5
    If Sheets("Feuil5").Cells(ligne, 2).Value = "" Then
    'On colle l'image (la croix)
    Sheets("Feuil5").Paste
    End If
    Next
    End Sub

    Le problème que je rencontre pour le moment c'est je ne parviens pas à positionner l'image dans les cellules de la première colonne après le collage.

    quelqu'un sait comment faire svp ?

  3. #3
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Salut à tous,

    Je vois que mon problème en intéresse beaucoup,

    donc je continue.

    J'ai copier coller une image sur plusieurs ligne (toujours de croix) symbolisant la suppression de lignes.

    je lui ai affecté une macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub delt()
    Rows([A2:A40000].Find(Shape).Row).EntireRow.Delete
    End Sub
    Quelle que soit la ligne sur laquelle se trouve la croix, c'est toujours la ligne 2 qui est supprimée.

    Savez vous comment faire svp pour que ce soit la ligne ou se trouve la croix qui soit supprimé ?

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    avec la propriété   Caller   récupérer le nom de l'objet appelant et ainsi

    il est aisé d'en déduire sa position via par exemple les propriétés   TopLeftCell   et   Row   …     (cf aide VBA interne)

    ___________________________________________________________________________________________________________
    Je suis Paris, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  5. #5
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    ça ne fonctionne pas comme je veux.

    La première image est stocké en feuil3 cellule A1,

    Je copie et colle cette cellule vers Feuil5 colonne A (plusieurs cellules de cette colonne),

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ligne = Sheets("Feuil5").Shapes(Application.Caller).TopLeftCell.Row
    colonne = Sheets("Feuil5").Shapes(Application.Caller).TopLeftCell.Column
    MsgBox "N°Colonne " & colonne & " - " & "N°Ligne " & ligne
    Si je click sur l'image en A9 feuil5 dans laquelle il y a cette image et à qui j'ai attribué cette macro,

    j'obtiens N°Colonne 1 - N°Ligne 1. Ce qui est faux. Je devrai obtenir N°Colonne 1 - N°Ligne 9

    Avez des pistes svp ?

  6. #6
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Je le met pour clôturer cette discussion,

    Cela fonctionne comme voulu et si ça peut être utile:

    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
     
    Sub testf()
    'Dim sh As Worksheet
    Dim img As Object
    Dim cell As Range
     
    'On supprime les images présente dans la feuille
    Sheets("Feuil2").Shapes.SelectAll
    Selection.Delete
    'boucle sur les ligne de 1 à 15 (pour l'exemple)
    For ligne = 1 To 15
    'Condition = 2ème colonne de chaque ligne est vide, condition 2= 1ère colonne de chaque ligne est vide
        If Sheets("Feuil2").Cells(ligne, 2).Value <> "" And Sheets("Feuil2").Cells(ligne, 1).Value = "" Then
        'On va chercher l'image en feuille 1, Copier / coller vers feuille 2
        Sheets("Feuil1").Cells(1, 1).Copy Sheets("Feuil2").Cells(ligne, 1)
        End If
    Next
    End Sub
     
    Sub ikol()
    'On active la feuille 2 pour travailler dessus
    Sheets("Feuil2").Activate
     
       With ActiveSheet.Shapes(Application.Caller)
          sAdresse = .TopLeftCell.Address     'Adresse de la cellule associée (dans la colonne A)
          sNom = .Name                        'nom de la forme
       End With
     
    'Affectation des variable "ligne" et "colonne"
    ligne = Sheets("Feuil2").Shapes(Application.Caller).TopLeftCell.Row
    colonne = Sheets("Feuil2").Shapes(Application.Caller).TopLeftCell.Column
    'On supprime la ligne de l'image sur laquelle on click
    Rows(ligne).EntireRow.Delete
    End Sub

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

Discussions similaires

  1. formulaire permuter une image bouton
    Par Marcus15 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/02/2007, 13h14
  2. désactiver une image bouton
    Par vraipolite dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/06/2006, 12h06
  3. Image bouton
    Par helter_skelter dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 04/03/2006, 10h35
  4. [VB.NET] Sélection d'image pour suppression
    Par botanique dans le forum Windows Forms
    Réponses: 12
    Dernier message: 01/11/2005, 17h09
  5. ressources d'icones, images boutons
    Par raggadoll dans le forum C++Builder
    Réponses: 7
    Dernier message: 24/10/2005, 13h42

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