Démarrer une fonction avec un bouton

Résolu
Yons69 Messages postés 5 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis complètement novice en VBA et j'avoue que je ne sais pas par où commencer pour répondre à ma question qui me semble pourtant simple :

Je souhaite concatener le contenu de plusieurs cellules d'une plage en cliquant sur les cellule qui m'intéressent.

Je pensais utiliser la formule concatener d'excel, mais pour simplifier les choses j'aurais souhaité lancer cette fonction en cliquant sur un bouton. Il me suffirait alors de "faire mon marché" en cliquant sur les cellules qui m'intéressent et de valider ma fonction.

Si vous avez des idées, je suis preneur,
Merci !

6 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    essaies:
    Option Explicit
    '-------
    Sub concatener_cellules()
    Dim Cellule As String, Concat As String, Rep As Byte
    Rep = 0
    Do Until Rep = 7
        Cellule = Application.InputBox(prompt:="cliquer sur cellule", Type:=8)
        Concat = Concat & Cellule & " "
        Rep = MsgBox("autre cellule ?", vbYesNo)
    Loop
    Range("D5") = Concat
    End Sub
    


    Si tu n'as jamais fait de macros, dis nous ta version d'excel (>=2007 ?) pour t'expliquer comment installer ces animaux là :o)
    Michel

    EDIT : Ajout du mot 'BASIC' dans la balise de CODE...
    1
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Bonjour,

    Si je comprend bien...
    Tu sélectionnes des cellules
    Tu cliques sur un bouton...
    Et ça concatène le contenu de ces cellules.... ?
    => Mais ça place où le résultat ?
    0
  3. Yons69 Messages postés 5 Statut Membre
     
    Merci pour ta réponse jordane45,

    l'idée serait plutôt la suivante :
    Je clique sur le bouton
    ça m'ouvre la fenêtre de la fonction concatener qui permet de choisir les arguments (cellules)
    je rempli les différents argument demandés par la fenêtre
    je valide en cliquant sur OK
    le résultat s'affiche dans la cellule D5.

    est-ce plus clair ?
    0
  4. Yons69 Messages postés 5 Statut Membre
     
    Merci beaucoup michel_m

    La fonctionnalité est parfaite et le code est suffisament simple pour que je l'adapte.

    Bravo !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Ou en une seule fenetre de demande :
    Sub test()
    Dim concatene As String
    Dim UserRange As Range
    On Error GoTo Canceled
    Set UserRange = Application.InputBox(Prompt:="Please Select Range", Title:="Range Select", Type:=8)
    
    'On concatene :
    For Each cell In UserRange
     concatene = concatene & cell.Value
    Next
    
    Debug.Print concatene
    Range("D5").Value = concatene
    Exit Sub
    
    Canceled:
        Debug.Print "Erreur !"
        Exit Sub
    End Sub
    
    

    0
  7. Yons69 Messages postés 5 Statut Membre
     
    Génial, c'est encore plus simple.
    J'ai ajouté un tout petit détail du code de michel_m pour insérer une espace entre chaque chaine de caractère.
    J'ai modifié cette ligne :
    concatene = concatene & cell.Value
    en ça :
    concatene = concatene & cell.Value & " "

    Merci beaucoup à vous 2.
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
       
      de rien.

      par contre..Si la question est résolue..
      Merci de ne pas oublier de clôturer le sujet
      (en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

      Cordialement,
      Jordane
      0
      1. Yons69 Messages postés 5 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        oups pardon ^^ c'est chose faite.
        0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Cell.value est inutile puisque porpriété pas défaut: règle de base de VBA; :-(
      0