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 :

Ecrire dans une msgbox le contenu d'une sélection [XL-2013]


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
    technicien
    Inscrit en
    Juillet 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2016
    Messages : 51
    Par défaut Ecrire dans une msgbox le contenu d'une sélection
    Bonjour,

    Plus que novice en VBA est après de nombreuses recherches infructueuses je cherche a écrire dans une msgbox le contenu des cellules B,C,D,E,F,G de la ligne que j'ai sélectionnée avant de l'effacer.
    Merci d'avance pour votre aide

    Voici mon 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
    Sub EffaceLigneTableau1()
     
    With Selection
     
        If .Columns.Count > 50 And Selection.Row > 5 Then   
     
            If msgbox("Confirmez-vous la supression de la ligne", vbYesNo + vbCritical, "Suppression ligne") = vbYes Then
                ActiveSheet.Rows(ActiveCell.Row).EntireRow.Delete
            End If
     
        Else
            msgbox "Veuillez sélectionner une ligne compléte" & vbLf & "Les lignes 1 à 4 ne sont pas autorisées", vbInformation, "Information"
        End If
    End With
     
    End Sub

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Bonjour,

    Tu peux mettre ce que tu veux dans ta Msgbox, il suffit de concaténer les éléments avec des esperluettes (le signe &).

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox("Confirmez-vous la supression de la ligne " & Selection.Row , vbYesNo + vbCritical, "Suppression ligne")
    Ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox("Vous avez sélectionné la cellule " & Cellule.Address & ". Elle contient la valeur : " & Cellule.value , vbYesNo + vbCritical, "Suppression ligne")
    Ce qu'il faut retenir, c'est que le texte doit se mettre entre guillemets, alors que les objets/variables/etc ne doit pas se mettre entre guillemets.

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Re,

    Et pour récupérer la valeur des cellules de la ligne sélectionnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(selection.row, 1).value  'renvoie la valeur de la cellule de la première colonne de la ligne sélectionnée
    Cells(selection.row, 4).value  'renvoie la valeur de la cellule de la quatrième colonne de la ligne sélectionnée

  4. #4
    Membre confirmé
    Homme Profil pro
    technicien
    Inscrit en
    Juillet 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2016
    Messages : 51
    Par défaut
    Merci pour ta réponse rapide
    Ta deuxième proposition correspond a ce que je souhaite faire mais étant plus que novice en VBA j'ai essayé d’écrire le code que tu m'a indiqué a savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ells(selection.row, 1).value  'renvoie la valeur de la cellule de la première colonne de la ligne sélectionnée
    Cells(selection.row, 4).value  'renvoie la valeur de la cellule de la quatrième colonne de la ligne sélectionnée
    a plusieurs endroit dans la macro mais rien n'y fait :-(

    Peut tu m'indiquer ou écrire cette partie de code pour pouvoir récupérer la valeur de mes cellules dans la msgbox

    Merci d'avance

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Re,

    Tout dépend de ce que tu veux exactement afficher dans ta msgbox.
    Tu veux écrire du texte, puis la valeur de tes cellules les unes à la suite des autres ?
    Comment souhaites-tu organiser les données?

  6. #6
    Membre confirmé
    Homme Profil pro
    technicien
    Inscrit en
    Juillet 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : technicien
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2016
    Messages : 51
    Par défaut
    Cette macro va me servir a supprimer une ligne d'un tableau excel comportant des opérations bancaires.
    Lorsque que l'utilisateur va cliquer sur ce bouton "supprimer" je souhaiterais que la msgbox lui indique, avant que la ligne soit supprimée, les informations qui ce trouve dedans.
    Pour résumer voila le résultat que je souhaiterais :

    Nom : Annotation 2020-01-22 151936.jpg
Affichages : 2722
Taille : 19,0 Ko

    Merci d'avance

  7. #7
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour à tous,

    Je me permets d'ajouter mon grain sel en précisant qu'il existe depuis au moins la version 2000 ce que l'on appelle : Formulaire (qui, à moins que j'ai mal compris, répond à la demande).

    depuis la version 2007 c'est caché mais pas disparu.

    en version 2010 (je pense qu'en 2013 c'est pareil) pour le réutilisé il faut :
    Option - Personnaliser le Ruban

    sélectionner dans la liste déroulante (choisir les commandes dans les catégories suivantes) : Commandes non présentes dans le ruban

    descendre dans la liste jusqu'à : Formulaire...

    Une fois ajouté

    pour l'utiliser il suffit de sélectionner le le tableau [Ctrl]+[*] ou [Ctrl]+[A] et on peut facilement sélectionnner un enregistrement(ligne), ajouter ou encore supprimer par les boutons qui sont associé au formulaire.

    Pas de VBA tout dans Excel


    Je me permets de montrer cette solution car tu as dis dans ton premier post :
    Plus que novice en VBA est après de nombreuses recherches infructueuses je cherche a écrire dans une msgbox le contenu des cellules B,C,D,E,F,G de la ligne que j'ai sélectionnée avant de l'effacer.
    Merci d'avance pour votre aide...
    Du coup ce n'est pas un msgbox mais un formulaire (mais l'avange c'est qu'il est tout prêt et fait pour ça, rien à faire sinon l'utiliser )

    tu me dis si cela te convient ou pas

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

Discussions similaires

  1. [VBA-E] Ecrire dans une cellule sans écraser son contenu
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/02/2007, 15h43
  2. ecrire dans une listbox
    Par amigauss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/01/2006, 17h48
  3. [VB] Ecrire dans une ComboBox -> Combo = TexBox
    Par zejo63 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 26/01/2006, 11h25
  4. [MySQL] Comment ecrire dans une BDD à partir d'un tableau ?
    Par weed dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/09/2005, 15h53
  5. Réponses: 4
    Dernier message: 15/04/2005, 15h25

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