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

  • Initiateur de la discussion Initiateur de la discussion Marie-CoinCoin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Marie-CoinCoin

Guest
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

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.
À+
 
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:
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... 😛

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 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

G
Réponses
7
Affichages
1 K
G
2
Réponses
5
Affichages
14 K
21did21
2
M
Réponses
9
Affichages
2 K
M
Réponses
5
Affichages
6 K
MarcoOoOoOo
M
Retour