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 :

Réaliser une box à partir d'un champ à renseigner pour supprimer une ligne [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Coordinateur Logistique
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur Logistique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Par défaut Réaliser une box à partir d'un champ à renseigner pour supprimer une ligne
    Bonjour le fofo,

    Le problème est un peu plus complexe que le titre mais voilà le sujet.
    J'ai créé un fichier dans lequel une acheteuse viendra saisir des données définies préalablement.
    On y retrouve notamment une colonne E concernant le nom du produit que l'acheteuse renseignera.
    Je leur ai créé un bouton d'ajout de ligne afin de verrouiller les formats et la reprise de données, et j'aimerai de ce fait leur permettre de supprimer une ligne et cela soit à partir d'un numéro de ligne ou alors du nom du produit situé en colonne E.

    J'aimerai donc que :

    1. l'acheteuse clique sur un bouton que j'ai créé appelé "Supprimer une ligne"
    2.Une box s'ouvre lui demandant "Quelle est la ligne a supprimé ?" 2 champs superposés nécessitant d'en remplir au moins un sur les 2 et qui seront soit Numéro de la ligne, soit Nom du produit. Un bouton Annuler sera ausi présent pour sortir de l'écran.
    3. elle rentre à la fois un nom et une ligne = ERREUR er retour à la feuille
    4. elle rentre un nom. Cela recherche le nom (unique) dans la colonne E de sa feuille et sélectionne la ligne contenant le nom. Une box s'ouvre lui demande de confirmer ou Annuler. Si elle confirme la ligne est définitivement supprimé et retour à la feuille, si elle annule retour à la saisie de la box.
    5. elle rentre un numéro de ligne. Cela selectionne le numéro de la ligne en question (interdiction de supprimer la ligne 1 et 2 de la feuille - message d'erreur). Une box s'ouvre afin de confirmer via OK et dans ce cas retour à la feuille, ou possibilité d'annuler et retour à la box de saisie.

    J'espère avoir donné toutes les infos nécessaire à la réalisation d'un petit morceau de code qui me rendrait un sacré service

    Merci par avance de votre aide et au plaisir un jour de vous aider sur un autre sujet.
    A+

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Ne pourrais-tu simplifier avec un simple bouton qui permette de supprimer la ligne de la cellule active après confirmation et vérification que cette ligne se trouve bien dans la zone des lignes supprimables?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonsoir,
    En fait j'imagine, ouverture d'un UserForm, qui charge les lignes du fichier dans une listbox. Vu la longueur de la liste, j'ai placé dessus un TextBox, qui démarre avec le focus. j'entre par exemple un D et aussitôt, la liste du ListBox, ne conserve plus que les lignes commençant par D. Si c'est encore trop long, je continue, Da etc . Je clique ensuite sur la ligne concernée et voila. moi je récupère les données de la fiche, et vous, dans votre cas, vous n'avez plus qu'a la détruire. Il y a bien entendu un bouton Annuler et un OK.
    Y a plus qu'a!!! suffisait d'y penser
    Cordialement

  4. #4
    Membre averti
    Homme Profil pro
    Coordinateur Logistique
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur Logistique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Par défaut
    Après un long et bon weekend me revoilà !

    Merci pour vos retours

    Pierre, cela pourrait simplement répondre au besoin en effet, simple et efficace. Quel serait le code associé ?

    Transitoire, c'est exactement ce dont j'ai besoin, selon le besoin exprimé. Comment cela fonctionne ? une procédure ? un code associé ?

    Encore merci à vous 2 pour vos réponses c'est cool d'avoir pris le temps
    A bientôt

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Par exemple, le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub DeleteActiveRow()
      If Not Intersect(ActiveCell, Range("MaPlage")) Is Nothing Then
        If MsgBox("Voulez-vous supprimer la ligne active?", vbYesNo) = vbYes Then ActiveCell.EntireRow.Delete
      End If
    End Sub
    Attention, il supprime toute la ligne de la cellule active. A adapter si on ne souhaite supprimer la ligne que dans la plage ou le tableau actif.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre averti
    Homme Profil pro
    Coordinateur Logistique
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur Logistique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Par défaut
    Merci Pierre, j'essaye cela et te confirme le bon fonctionnement

  7. #7
    Membre averti
    Homme Profil pro
    Coordinateur Logistique
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur Logistique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Par défaut
    @PierreFauconnier, MERCI !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 24/01/2008, 22h36
  2. [MySQL] remplir une liste à partir d'un champs texte
    Par myinformatique dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 27/07/2007, 17h10
  3. Incrémenter une liste à partir d'un champ
    Par taisherg dans le forum IHM
    Réponses: 12
    Dernier message: 11/05/2007, 14h59
  4. [forms 10g] créer une LOV à partir de 2 champs liste
    Par lolafrite dans le forum Forms
    Réponses: 2
    Dernier message: 09/02/2007, 11h22
  5. Déclarer le type d'une variable à partir d'un champs
    Par tesweb dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/12/2006, 12h24

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