Macro permettant de fusionner des cellules

Bonjour

Je désire pouvoir avec une macro choisir une plage de cellules pour la fusionner, écrire à la vertical dans les cellules fusionnées.

J’ai fait ma macro, évidemment quand je commande la macro je sélectionne toujours la même plage

Je ne sais pas comment attribuer une variable qui serait définit par un bouton (peut être) plag1 = InputBox("plage") et qui pourrait changer dans mon programme le coordonnées a10 :a28

Merci pour vos réponses, il s’agit certainement d’une solution basique , mais je suis vraiment débutant

Sub essais()

'

' essais Macro

' Macro enregistrée le 02/02/2010 par .

'

' Touche de raccourci du clavier: Ctrl+e

'

' dans la macro j'ai selectionné a10:a28

plag1 = InputBox("plage")

' Si je repond par exemple a3:a25 la variable plag1 peut elle etre atribué à la place de "a10:a28" si oui comment

Range("a10:a28").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

Selection.Merge

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

.WrapText = False

.Orientation = 90

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = True

End With

With Selection.Font

.Name = "Arial"

.Size = 12

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

.ColorIndex = xlAutomatic

End With

Selection.Font.Bold = True

End Sub

Bonjour goupil02,

A la place de :

plag1 = InputBox("plage")

Mets :

plag1 = Application.InputBox("plage", Type:=8)

Tu pourras sélectionner la plage désirée.

Le premier "InputBox" correspond à une fonction, tandis que l'"InputBox" dans "Application.InputBox" est ce que l'on appelle en vba une méthode.

Voici les valeurs que peut prendre l'argument "Type" (tiré de l'aide VBA) :

  • 0 : Une formule.
  • 1 : Un nombre.
  • 2 : Texte (une chaîne).
  • 4 : Une valeur logique (True ou False).
  • 8 : Une référence de cellule, sous la forme d'un objet Range.
  • 16 : Une valeur d'erreur, telle que #N/A.
  • 64 : Un tableau de valeurs.

Bonjour

Merci pour votre réponse

Je maîtrisais très bien le Basic sur un Thomson TO9 (il y a un siècle)

J’essaye de m’initier au Visual Basic, j’ai acheté VBA pour les Nuls, j’avoue ne pas m’y retrouver

J’avais commencé le Basic avec des petits exemples, un listing des différentes commandes avec les explications,

Je ne trouve pas de doc simple me permettant de commencer VBA

Je vais essayer votre proposition

-- 03 Fév 2010, 13:26 --

Rebonjour

J'ai remplacé comme tu me la conseillé, mais je ne vois pas comment remplacer ma plage de cellules A10:A28 par la variable plag1 que j'imagime avoir créé.

Si je répond à la boite de dialogue A5:A40 par exemple

Ne faut-il pas intervenir dans "Range("a10:a28").Select" pour changer A10:A28 en A5:A40

Merci encore

Je pense que pour débuter en VBA, l'enregistreur de macro est un des meilleurs moyens. Cela couplé à l'aide VBA (un appui sur la touche F1 lorsque le curseur est placé sur un mot VBA s'avère être une mine d'informations !) est une bonne base de commencement.

Voici un lien que m'a proposé Dan à mes débuts en VBA et qui pourra sans doute te servir : https://forum.excel-pratique.com/discussions/livre-vba-t8069.html

Amicalement

Rechercher des sujets similaires à "macro permettant fusionner"