Macro avec opérations successives sur la case sélectionnée et sa voisine

Marie-CoinCoin

XLDnaute Nouveau
Bonjour,

Voilà, je veux créer un bouton, qui, quand on a sélectionné une cellule, copie le texte de cette cellule dans la cellule d'à côté, grise la cellule, et remplace le texte par un X.
J'ai essayé avec une macro basique, il copie bien le contenu de la cellule mais je n'arrive pas à le faire copier dans la case qui me convient...

Dans la même idée, je veux aussi pouvoir créer un deuxième bouton qui permettrait de décaler non pas à la case d'à côté mais à 2 cases plus loin.

Ci-joint petit fichier explicatif.

Merci ! :)
 

Pièces jointes

  • CoinCoin_modele_macro.xlsm
    25.3 KB · Affichages: 78

Dranreb

XLDnaute Barbatruc
Re : Macro avec opérations successives sur la case sélectionnée et sa voisine

Bonjour
Utilisez Selection.Offset(, 1) pour désigner la cellule à droite de celle sélectionnée
et Selection.Offset(, -1) celle à sa gauche, ...Offset(, n) ave n le nombre de colonnes à décaler.
À+
 

tototiti2008

XLDnaute Barbatruc
Re : Macro avec opérations successives sur la case sélectionnée et sa voisine

Bonjour Marie,

Premier bouton :

Code:
Sub Bouton1()
    With ActiveCell
        .Offset(0, 1).Value = .Value
        .Interior.ThemeColor = xlThemeColorDark1
        .Interior.TintAndShade = -0.349986266670736
        .Font.ThemeColor = xlThemeColorDark1
        .Font.TintAndShade = 0
        .Value = "X"
    End With
End Sub

Edit : Bonjour Dranreb :)
 
Dernière édition:

Marie-CoinCoin

XLDnaute Nouveau
Re : Macro avec opérations successives sur la case sélectionnée et sa voisine

Merci mais euh, je suis pas très calée en VB, du coup je sais pas trop où faut mettre ça...
J'ai des Range("C4").Select / Range("D4").Select, qui correspondent à mon pb. J'ai essayé de juste remplacer ça avec l'Offset mais ça doit pas être ça vu que ça bug... :p

Voilà le code, si vous pouvez m'aider... Merci !

Sub Action_4()
'
' Action_4 Macro
' Grise la case, y inscrit X, et reporte la valeur de la case à la case voisine
'

'
Selection.Copy
Range("D4").Select
ActiveSheet.Paste
Range("C4").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "X"
With ActiveCell.Characters(Start:=1, Length:=1).Font
.Name = "Arial"
.FontStyle = "Normal"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Range("C4").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Selection.Font.Bold = True
End Sub

EDIT : ah ben merci, je vais voir ça, je reviens si je galère ! Merci bcp :)
 

Discussions similaires

Statistiques des forums

Discussions
312 747
Messages
2 091 605
Membres
105 007
dernier inscrit
adla