Démarrer une fonction avec un bouton

Résolu/Fermé
Yons69 Messages postés 5 Date d'inscription mercredi 3 décembre 2014 Statut Membre Dernière intervention 3 décembre 2014 - 3 déc. 2014 à 10:06
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 3 déc. 2014 à 11:56
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 !
A voir également:

6 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par jordane45 le 3/12/2014 à 11:23
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
jordane45 Messages postés 38263 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 octobre 2024 4 693
3 déc. 2014 à 10:08
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
Yons69 Messages postés 5 Date d'inscription mercredi 3 décembre 2014 Statut Membre Dernière intervention 3 décembre 2014
3 déc. 2014 à 10:14
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
Yons69 Messages postés 5 Date d'inscription mercredi 3 décembre 2014 Statut Membre Dernière intervention 3 décembre 2014
3 déc. 2014 à 11:18
Merci beaucoup michel_m

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

Bravo !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38263 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 octobre 2024 4 693
3 déc. 2014 à 11:22
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
Yons69 Messages postés 5 Date d'inscription mercredi 3 décembre 2014 Statut Membre Dernière intervention 3 décembre 2014
3 déc. 2014 à 11:33
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
jordane45 Messages postés 38263 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 octobre 2024 4 693
3 déc. 2014 à 11:42
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
Yons69 Messages postés 5 Date d'inscription mercredi 3 décembre 2014 Statut Membre Dernière intervention 3 décembre 2014 > jordane45 Messages postés 38263 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 octobre 2024
3 déc. 2014 à 11:44
oups pardon ^^ c'est chose faite.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
3 déc. 2014 à 11:56
Cell.value est inutile puisque porpriété pas défaut: règle de base de VBA; :-(
0