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

macro effacer colonne lors saisie

  • Initiateur de la discussion Initiateur de la discussion SARdynamite
  • 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 !

S

SARdynamite

Guest
Bonsoir,

Il me manque cette seule macro pour boucler mon fichier. Merci d'avance pour votre aide car je n'ai pas le talent.

Je souhaiterai qu'au moment de la saisie d'une valeur dans n'importe quelle cellule de la colonne L, cette colonne L se vide toute seule (toutes les cellules) avant de recevoir ma saisie (d'une seule cellule).

Merci d'avance. Bien à vous
 
Re : macro effacer colonne lors saisie

Bonsoir SARdynamite,

Voici un code que tu peux coller dans le code de ta feuille en faisant Click-droit puis visualiser le code :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim vL
    vL = Target
    Application.EnableEvents = False
    If Not Intersect(Target, [L:L]) Is Nothing Then
        [L:L].ClearContents
        Target = vL
    End If
    Application.EnableEvents = True
End Sub
A+
 
Re : macro effacer colonne lors saisie

Merci cela fonctionne parfaitement 😎

J'avais déjà ce code pour la feuille. Comment "compiler" les 2 pour les rendre compatibles ?

En effet, en mettant les 2 à la suite j'obtiens un bug.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C8:J15047]) Is Nothing Then Exit Sub
If Not IsEmpty(Target) And Target.Count = 1 Then
If IsNumeric(Target) Then
Application.EnableEvents = False
Target = Target / 100
Application.EnableEvents = True
End If
End If
End Sub

Merci encore..
 
Re : macro effacer colonne lors saisie

Bonsoir,
Si l'on répond strictement...
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.MoveAfterReturnDirection = xlToRight
If Target.Column = 12 Then Columns(12).ClearContents
End Sub
...mais c'est sport
A+
kjin
 
Re : macro effacer colonne lors saisie

Re-bonsoir SARdynamite, Klin,

Voici comment remanier ta macro :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim vL
    vL = Target
    Application.EnableEvents = False
    If Not Intersect(Target, [L:L]) Is Nothing Then
        [L:L].ClearContents
        Target = vL
    ElseIf Not Intersect(Target, [C8:J15047]) Is Nothing Then
        If Not IsEmpty(Target) And Target.Count = 1 Then
        If IsNumeric(Target) Then Target = Target / 100
    End If
    Application.EnableEvents = True
End Sub
Kjin : Je pense que tu as oublié le fait qu'il veuille garder la valeur saise en colonne L et uniquement cette dernière.

A+
 
Re : macro effacer colonne lors saisie

Oui désolé pas de connaissances en VBA. Je n'avais pas vu le dernier message. Ca fonctionne sur True

Un grand merci à tous pour m'avoir aidé...
 
Re : macro effacer colonne lors saisie

Bonsoir à tous,

kjin : parce qu'avec ton code, si l'on valides la saisie en colonne L par la flèche vers le bas, la saisie faite précédemment disparaît et dans ce cas (et seulement dans ce cas), ta solution ne répond pas à la demande. 😱

Mais peut-être suis-je un peu trop puriste et seul SARdynamite pourra dire si cette solution lui convient.

A+
 
Re : macro effacer colonne lors saisie

re-bonsoir à tous,

Eh oui kjin, bravo pour cette astuce qui te permet de fournir un code concis si, si ! 😀

J'ai dû bricoler un peu pour faire un code correct de 6 lignes. C'est moins élégant mais bon.. chez, moi, on peut valider avec la fèche vers le bas ah, ah ! 😎

Bonne soirée
 
Re : macro effacer colonne lors saisie

Re-bonsoir,

Apparemment il manquait un End If dans le code compilé pour que cela soit valide.

J'en ai rajouté un mais apparemment au mauvais endroit. Impossible d'ouvrir à nouveau mon classeur (depuis que je l'ai fermé). Le chargement bloque lors de l'ouverture et je ne vois pas comment le récupérer 🙁
 
Re : macro effacer colonne lors saisie

J'ai récupéré une version malheureusement anciennce de sauvegarde sans Macro. Soulagé malgré tout...

Sauriez-vous compléter le code de 22h33 ...une version sans hauts-le-coeur ? 😀 (humour)
 
Re : macro effacer colonne lors saisie

Bonjour à tous,

En effet, j'avais oublé un End IF, j'étais allé un peu trop vite...

Voici le code corrigé :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim vL
    vL = Target
    Application.EnableEvents = False
    If Not Intersect(Target, [L:L]) Is Nothing Then
        [L:L].ClearContents
        Target = vL
    ElseIf Not Intersect(Target, [C8:J15047]) Is Nothing Then
        If Not IsEmpty(Target) And Target.Count = 1 Then
            If IsNumeric(Target) Then Target = Target / 100
        End If
    End If
    Application.EnableEvents = True
End Sub
A+
 
- 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

Réponses
5
Affichages
665
Réponses
13
Affichages
1 K
Réponses
6
Affichages
662
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…