remise à zéro de cellules sur certaines feuilles

mall60

XLDnaute Nouveau
Bonjour,

Je voudrais, dans un classeur excel, effacer le contenu de certaines cellules, sur les feuill dont le nom contient le mot "Famille".

J'ai essayé avec cette macro, mais ne parviens pas à la faire fonctionner:

Sub raz()
SheetActivate (ByVal sh As Object)
If InStr(1, non_famille, sh.Name) = 0 Then
ActiveSheet.Unprotect Password:=""
Range("C6:AG8,C10:AG12,C14:AG16,C18:AG20,Y26:Z30").Select
Selection.ClearContents
ActiveSheet.Protect Password:=""
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub

Si quelqu'un pouvait m'apporter la correction.

Merci par avance.
 

Fred0o

XLDnaute Barbatruc
Re : remise à zéro de cellules sur certaines feuilles

Bonjour mall60,

Voici le code corrigé à placer dans "ThisWorkbook".
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If InStr(1, Sh.Name, "Famille") <> 0 Then
        ActiveSheet.Unprotect Password:=""
        Range("C6:AG8,C10:AG12,C14:AG16,C18:AG20,Y26:Z30").ClearContents
        ActiveSheet.Protect Password:=""
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    End If
End Sub

Pour cela, tu vas dans l'éditeur VBA ou <ALT> + <F11>, puis tu double-cliques sur "ThisWorkbook", puis tu colles le code.

A+
 

mall60

XLDnaute Nouveau
Re : remise à zéro de cellules sur certaines feuilles

Merci, mais
Lorsque cette macro se lance, un message indique que la première ligne est ambiguë.
Cela provient sans doute qu'une autre commande installée dans workbook contient la même instruction.
D'autre part, je voudrais lancer cette commande depuis un bouton ce qui ne semble pas possible depuis Thisworkbook.

Merci de regarder comment je peux m'en sortir.
Mall60
 

Fred0o

XLDnaute Barbatruc
Re : remise à zéro de cellules sur certaines feuilles

Bonjour mall60,

En effet c'est très ambigu. Ce qui est sûr, c'est que j'ai répondu à la question que tu as posé. si tu veux autre chose que ce que j'ai compris, le mieux est de joindre un fichier exemple avec des données fictives. Ensuite, tu explique clairement ce que tu veux que ta macro fasse, un exemple du résultat attendu et surtout comment lancer l'évènement.
Là, avec une procedure Workbook_SheetActivate, elle se lance obligatoirement lorsque tu sélectionnes la feuille en question, à condition de placer le code dans cette feuille.

A te relire.
 

mall60

XLDnaute Nouveau
Re : remise à zéro de cellules sur certaines feuilles

Bonjour,

Comme suite à ton message, je te joins en fichier Excel une maquette du classeur.
J'espère que le problème sera ainsi mieux posé.

Merci par avance.

Mall60
 

Pièces jointes

  • Facturtest.xls
    43 KB · Affichages: 50

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS