Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Sélectionner une cellule par macro

Petitom42

XLDnaute Nouveau
Bonjour à tous!

J'ai un souci avec une macro. Je précise que mon niveau est plutôt débutant dans ce domaine et que j'utilise souvent les enregistrements de macro.
Pour faire simple, j'ai créé un bouton et j'aimerais que lorsque l'on clique dessus, le contenu de la cellule sélectionnée soit coupé et collé dans la cellule qui se situe 2 colonnes avant, dans la même ligne. Je n'arrive malheureusement pas à trouver la solution, et lorsque j'enregistre ma macro en utilisant soit les flèches, soit tab pour me déplacer d'une cellule à l'autre, la macro se contente de sélectionner la cellule utilisée pour l'enregistrement (exemple K27 quelle que soit la ligne sélectionnée au moment de l'exécution de ma macro).

Quel code permettrait de sélectionner cette cellule, qui soit donc dans une colonne donnée (la colonne K) mais tout en restant dans la même ligne que la cellule sélectionnée?

Un grand merci par avance

Petitom42
 

Lolote83

XLDnaute Barbatruc
Salut PETITOM42,
Peut être comme ça.
VB:
Sub Test()
    If ActiveCell.Column < 3 Then
        MsgBox "IMPOSSIBLE DE COLLER"
    Else
        xVal = ActiveCell.Value
        ActiveCell.Value = Empty
        ActiveCell.Offset(0, -2) = xVal
    End If
End Sub
@+ Lolote83
 

Lolote83

XLDnaute Barbatruc
Bonjour JPB388,
Notre ami PETITOM42 ne souhaite pas un Copier-Collé mais un Couper-Collé.
De plus, ton code ne tiens pas compte si Dbl-Clic dans une cellule pour une colonne inférieure à 3. (Le code plante).
@+ Lolote83
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Notre ami PETITOM42 ne souhaite pas un Copier-Collé mais un Couper-Collé.
De plus, ton code ne tiens pas compte si Dbl-Clic dans une cellule pour une colonne inférieure à 3. (Le code plante).
Bonjour à tous,

Qu'à cela ne tienne :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If ActiveCell.Column > 2 Then ActiveCell.Cut ActiveCell.Offset(0, -2): Cancel = True
End Sub
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…