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 -
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 !
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:
- Démarrer une fonction avec un bouton
- Fonction si et - Guide
- Windows ne veut pas démarrer - Guide
- Comment faire une capture d'écran sur un samsung sans bouton ? - Guide
- Pc très lent à démarrer - Guide
- Diagnostic bouton photo - Accueil - Outils
6 réponses
Bonjour,
essaies:
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...
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...
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 ?
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 ?
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 ?
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 ?
Merci beaucoup michel_m
La fonctionnalité est parfaite et le code est suffisament simple pour que je l'adapte.
Bravo !
La fonctionnalité est parfaite et le code est suffisament simple pour que je l'adapte.
Bravo !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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.
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.