Clearcontents

Salut à tous,

J'ai un code qui bug sur une cellule déverrouillée dans une feuille qui elle est verrouillée

VarReponse = MsgBox("Effacer la ligne ?", vbYesNo, "Alerte")
        If VarReponse = vbNo Then Exit Sub
        Set Ws = Worksheets("Saisie2")
        Lgn = TrouveLigne(ComboBox1)
        Ws.Range("I" & Lgn & ":Q" & Lgn & "B").ClearContents

Le contenu de ligne I est effacé et du Q aussi sans souci

le contenu de la cellule B refuse et bug VBA

Merci si vous avez une solution pour moi

Cordialemnt

Bonjour wall,

essaye ceci :

  VarReponse = MsgBox("Effacer la ligne ?", vbYesNo, "Alerte")
  If VarReponse = vbNo Then Exit Sub
  Lgn = TrouveLigne(ComboBox1)
  With Worksheets("Saisie2")
    .Unprotect
    .Range("I" & Lgn & ":Q" & Lgn).ClearContents
    .Protect
  End With

dhany

Bonjour,

L'adresse d'une cellule est composée d'une lettre (ici la lettre B) et d'un numéro de ligne et ici, c'est ce qui manque !

Essais de cette façon en mettant une virgule (devant le B) pour séparer les Ranges :

Ws.Range("I" & Lgn & ":Q" & Lgn & ",B" & Lgn).ClearContents

Bonjour,

C'est ton & "B" qui fait boguer : mauvaise syntaxe.

Bonjour, merci à vous

La petite (,) avant le B qui est m'a joué des tours car j'ai essayé avec les (& Lgn) et les (:) avec erreurs.

Solution :

Ws.Range("I" & Lgn & ":Q" & Lgn & ",B" & Lgn).ClearContents

Merci pour la correction !

Cordialement

Tu devrais regarder aussi l'utilisation de With dans mon code VBA : https://forum.excel-pratique.com/viewtopic.php?p=652842#p652842


Tu avais écrit ceci dans ton message de 15:37 :

J'ai un code qui bug sur une cellule déverrouillée dans une feuille qui elle est verrouillée

comme tu parlais de feuille verrouillée, regarde aussi .Unprotect et .Protect

dhany

Merci Dhany,

J'ai bien pris en compte votre remarque de protect et je travaille déjà dessus car j'ai d'autres feuilles en mode protégé.

Cordialement

merci pour ton retour !

dhany

Bonjour à tous,

A propos de clearcontents, je me trouve avec une erreur de code dès que je fusionne les cellules de A45 à G45 (en A45) erreur sur cette ligne :

Range("A6:F6,A11:D11,A16:D16,A21,A26:F26,A31:C31,A36:E36,A41:G41,A45").ClearContents

Auriez vous svp une solution pour moi?

Merci d'avance

Cordialement

Bonjour wall,

Il suffit d'indiquer, tout au bout à droite, la plage fusionnée complète :

Range("A6:F6,A11:D11,A16:D16,A21,A26:F26,A31:C31,A36:E36,A41:G41,A45:G45").ClearContents

Tu peux aussi ajouter des espaces pour améliorer la lisibilité :

Range("A6:F6, A11:D11, A16:D16, A21, A26:F26, A31:C31, A36:E36, A41:G41, A45:G45").ClearContents

ça permet de voir plus facilement les différentes plages, et on on voit aussi plus aisément que A21 est qu'une seule cellule ... mais peut-être que ça aurait dû être, par exemple : A21:D21 ou A21:F21 ?

dhany

Merci Dhany pour la solution proposée. Effectivement, il s'agit du groupe de cellules dans lesquelles arrive le résultat et non la A45 seule.

Pour la A 21, c'est normal, je n'ai qu'une seule cellule à cet endroit.

Bien à vous

Rechercher des sujets similaires à "clearcontents"