Démarrer une fonction avec un bouton [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
mercredi 3 décembre 2014
Statut
Membre
Dernière intervention
3 décembre 2014
-
Messages postés
16376
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 janvier 2021
-
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

Messages postés
16376
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 janvier 2021
3 118
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
31198
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 janvier 2021
3 212
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 ?
Messages postés
5
Date d'inscription
mercredi 3 décembre 2014
Statut
Membre
Dernière intervention
3 décembre 2014

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 ?
Messages postés
5
Date d'inscription
mercredi 3 décembre 2014
Statut
Membre
Dernière intervention
3 décembre 2014

Merci beaucoup michel_m

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

Bravo !
Messages postés
31198
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 janvier 2021
3 212
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


Messages postés
5
Date d'inscription
mercredi 3 décembre 2014
Statut
Membre
Dernière intervention
3 décembre 2014

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.
Messages postés
31198
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 janvier 2021
3 212
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
Messages postés
5
Date d'inscription
mercredi 3 décembre 2014
Statut
Membre
Dernière intervention
3 décembre 2014
>
Messages postés
31198
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 janvier 2021

oups pardon ^^ c'est chose faite.
Messages postés
16376
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 janvier 2021
3 118
Cell.value est inutile puisque porpriété pas défaut: règle de base de VBA; :-(