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