Création d'une macro excel

Résolu/Fermé
freak33 - 26 déc. 2009 à 17:24
 freak33 - 26 déc. 2009 à 21:53
Bonjour,

Je voudrais créer une macro pour une feuille de calcul excel. Je n'ai pas réussi par moi même, et je n'ai pas trouvé ma réponse sur le net.
Voici ce que je veux faire:
A partir d'une case sélectionnée (exemple, B6),
- couper le contenu de la cellule
- coller le contenu de la cellule dans la cellule à droite (même ligne, colonne +1, exemple C6). Attention, il y a déjà quelque chose dans cette cellule, et je ne veux pas le perdre.
- aller à la ligne, écrire '/ ', aller à la ligne (tout ça dans la deuxième cellule, exemple C6)

Mon but est ensuite de faire cette opération sur toute les cellules de la colonne B.

Je vous remercie d'avance de vos réponses et je vous souhaite de joyeuses fêtes.
Freak33
A voir également:

5 réponses

Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
26 déc. 2009 à 21:07
Bonjour,
La procédure traite la colonne [B] et [C] dès la ligne 6 et suivantes.
Sub CollerAdd()
Dim c As Long, col As Long, ded As Long, fin As Long
dep = 6 ' la ligne de départ
col = 2 ' colonne [B] à concaténer avec valeur de colonne  [C]
' Boucle sur la colonne [B]
fin = Cells(5000, col).End(xlUp).Row
For c = 6 To fin
    Cells(c, col + 1) = Cells(c, col) & vbLf & "/" & vbLf & Cells(c, col + 1)
Next c
With Range(Cells(dep, col), Cells(fin, col + 1)).Font
    .Name = "Verdana"
    .FontStyle = "Normal"
    .Size = 10
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = xlAutomatic
End With
End Sub
1
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
26 déc. 2009 à 18:19
Bonjour,
Est-il possible de voir se que vous avez essayé de réaliser ?
0
Dans la cellule B6 il y avait 'blbl' et dans la cellule C6, 'dldl'.

Touche de raccourci du clavier : Option+Cmd+g
'
Range("B6").Select
ActiveCell.FormulaR1C1 = ""
Range("C6").Select
ActiveCell.FormulaR1C1 = "blbl" & vbLf & "/" & vbLf & "dldl"
With ActiveCell.Characters(Start:=1, Length:=0).Font
.Name = "Verdana"
.FontStyle = "Normal"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End Sub
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
26 déc. 2009 à 18:39
Bonjour,
Merci pour le code.
Il semple qu’il manque les premières lignes … !
La réponse va suivre …
0

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

Posez votre question
Merci beaucoup. J'ai ajouté cells(c, col) = NULL pour vider la cellule de départ et c'est parfait.
Bonne soirée,
Freak 33
0