Macro efface données

Résolu/Fermé
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 - 11 août 2011 à 13:19
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 - 12 sept. 2011 à 15:02
Bonjour Pijaku et Mistral_13200


Je m'excuse d'abord de la protection de mon fichier parce que j'avais omis de le dévérouillé avant de posté et ensuite de reposté ma question.
trouver ci-joint mon fichier :https://www.cjoint.com/?AHlnsJPyQxV

A voir également:

24 réponses

mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
11 août 2011 à 15:12
Vu comme ça, c'est plutôt incompréhensible.
Je pense que votre demande concerne un autre post.
A copier/coller dans un message à la suite de votre post initial et éliminer celui-ci qui ne peut-être exploité en l'état.
1
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 1
11 août 2011 à 15:18
Bonjour,

Merci pour la suggestion. SI j'ai réposté ce message c'est parce que j'avais des difficulté pour le suivre car que si veux repondre à quelqu'un à la suite d'une proposition d'idée immediatement ça me deconnecte.
Mais neanmoins je vais vous demandé de voir le pseudo Bonisam et voir la question que j'avais posté. je dois avoir 35 reponses sur ça même.

Mes respects
Bonisam
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
11 août 2011 à 16:30
Pas de problème.
Je laisse le soin à pijaku et Mistral de répondre, s'ils passent par là.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
11 août 2011 à 16:46
Salut
Et bien à ce que je peux voir, la macro EffaceDonnees ne contient qu'une seule erreur, l'orthographe de la feuille Accueil cf le code ci-dessous.... donc elle efface bien toutes les données de toutes les feuilles si les cellules concernées ne contiennent pas de formule et si elles appartiennent à la plage : A10:H dernière ligne...
Que veux tu de plus?
Sub EffaceDonnees()
Dim DerLig As Long
Dim Wsh As Worksheet
Dim Plage As Range, Cel As Range

For Each Wsh In ThisWorkbook.Worksheets
'rectifie dans la ligne suivante accueil pour que cela soit écrit rigoureusement
'comme le nom de ta feuille "accueil"....................
    If Wsh.Name <> "Acceuil" And Wsh.Name <> "Recapitulatif" Then
        With Wsh
            DerLig = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
            Set Plage = .Range("A10:G" & DerLig)
            For Each Cel In Plage
                If Left(Cel.Formula, 1) <> "=" Then
                    Cel.ClearContents
                End If
            Next
        End With
    End If
Next
Set Plage = Nothing
End Sub
--
Cordialement,
Franck P
0
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 1
11 août 2011 à 17:52
Bonjour Pijaku,

Je m'excuse de vous embêter trop. Je crois bien mêtre le code mais quand je lance l'execution de la macro ça me fait des scènes. Voyez plus tot à l'impression de l'ecran suivant: https://www.cjoint.com/?AHlrRMi69gW

Merci pour tout
Mes respects
Bonisam
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
12 août 2011 à 12:00
salut,
Oui. Effectivement cela bugge lorsqu'il n'y a pas de données d'enregistrées dans la feuille. Merci Le Pingou, j'aurais pu chercher longtemps ;-)
Bon alors il faut ajouter un test pour que cela fonctionne. Du style :
Sub EffaceDonnees()
Dim DerLig As Long
Dim Wsh As Worksheet
Dim Plage As Range, Cel As Range

For Each Wsh In ThisWorkbook.Worksheets
'rectifie dans la ligne suivante accueil pour que cela soit écrit rigoureusement
'comme le nom de ta feuille "accueil"....................
    If Wsh.Name <> "Acceuil" And Wsh.Name <> "Recapitulatif" Then
        With Wsh
            DerLig = .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
            If DerLig > 10 Then
                Set Plage = .Range("A10:G" & DerLig)
                For Each Cel In Plage
                    If Left(Cel.Formula, 1) <> "=" Then
                        Cel.ClearContents
                    End If
                End If
            Next
        End With
    End If
Next
Set Plage = Nothing
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 1
12 août 2011 à 12:09
Bonjour

Je test mais l'execution renvoie une erreure de compilation.

Merci pour tout
Mes respects
Bonisam
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
12 août 2011 à 13:59
Bonjour,
Remplacer le nombre 10 par 9 dans la ligne:
If DerLig > 10 Then
Salutations
0
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 1
12 août 2011 à 14:19
Bonjour,

En rapplaçant par 9 voila le message d'erreur que ça me donne :https://www.cjoint.com/?AHmosXL5aIw



Merci pour tout
Mes respects
Bonisam
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
12 août 2011 à 15:15
Bonjour,
Je pense que vous auriez quand même pu apporter la correction qui est mineur dans ce cas.
Déplacer le [End if] qui est juste devant le [Next] et le placer entre [Next] et [End With]
Nous ne sommes quand pas des machine à tout faire.
0
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 1
12 août 2011 à 18:51
Bonjour,

Juste dire merci à tous pour votre aide particulièrement Le Pingou, Pijaku et mistral 13200.

Je m'execuse aussi de vous avoir trop embêter pour mon problème. Et surtout je m'excuse d'être aussi cancre en VBA.

Sinon finalement après la dernière modification indiquée par le Pingou ça marche sauf qu'il y'a un petite problème. En effet, il y'a des cellules protégé dans ma feuilles bien sur qu'elles ne sont pas comprise dans la plage mais ça demande de les déprotégé sinon ça n'execute pas la macro.
Qaund ôte la protection de la feuille ça marche à defaut ça marche pas.

Si vous aviez une idée, une fois de plus je m'excuse de vous déranger.
Merci pour tout.
Mes respects
Bonisam
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
12 août 2011 à 21:35
Bonjour,
Vous indiquez exactement où se trouve les protections et de plus il faut le mot de passe s'il y en a un.
0
Bonjour,

Si j'ai bien compris je dois indiqué dans la procedure où se trouve la protection dans la feuille et le mot de passe?

Sinon c'est toute la feuille qui est protégée sauf les cellules de la plage indiquée. Maintenant comment vais-je indiqué ça dans la procedure?

Merci pour tout
Mes respects
Bonisam
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
13 août 2011 à 21:54
Bonjour,
J'ai réalisé un test selon vos informations en protégeant les feuilles et il se trouve que l'excellente procédure de pijaku (salutations) fonctionne correctement et sans faute.
Alors votre problème est ailleurs !
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
14 août 2011 à 11:11
Salut,
Merci La Pingou pour le relais.
Juste de passage pour vous dire que je ne reviendrais que mardi... Pour cause de week end bien mérité.
Je reprendrais donc le fil mardi.
A+
0
Bonjour à vous,
Merci le pingou j'étais juste de passage mais je vais revoir ça la semaine prochaine.
Au pijaku je vous souhaite un très bon week end. et à nous revoir la semaine prochaine.

Merci pour tout
Mes respects
Bonisam
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
16 août 2011 à 08:35
Bonjour,
Reprenons.
On en est ou? ça fonctionne ou pas?
Si la macro ne tourne pas comme vous le souhaitez, placez ici :
- un lien vers vote fichier
- tout le code utilisé.
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
16 août 2011 à 11:09
Bonjour Bonisam,
Petite réflexion pour débuter la semaine :
Pourquoi vouloir tout protéger par mot de passe alors qu'il est possible d'enter des données erronées dans la plage [A10 :G20] de chaque feuille mensuelle sans passer par votre code !
0
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 1
9 sept. 2011 à 11:17
Bonjour à tous,

Je m'adresse particulièrement à pijaku et Le Pingou. Tout d'abord je m'excuse parce que j'étais indisposé ce qui ma pas permis de suivre mes discussions c'est pourquoi ce silence mais maintenant je vais assez bien.

Je reviens toujours par rapport à la macro éfface donné.
En fait moi mon problème se trouve que:
- j'ai 12 feuilles dans mon classeur
- quand je lance l'execution de la macro ça m'affiche un message que les graphiques ou les feuilles sont protégé.
- maintenant si je part voir le resultat de l'execution, il se trouve que les données de la première feuille sont éffacées mais les données des autres feuilles non. Donc je comprend pas pourquoi.
Une remarque importante : mes feuilles sont masqués j'epère que c'est pas ça aussi?
Trouvez en attache mon fichier: https://www.cjoint.com/?AIjlo6wEZo6

Vraiment je vous prie de m'aider
Mes respects
Bonisam
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
9 sept. 2011 à 14:38
Bonjour,
Alors là vous faite très fort en demandant de l'aide et vous mettez à disposition un fichier protéger par mot de passe.
0
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 1
9 sept. 2011 à 14:40
Bonjour,
Moi encore toujours des excuses!!!
Voici le mDp: Carole1989

Mes respects
Bonisam
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
9 sept. 2011 à 17:18
Bonjour,
Je n'ai pas trouvé de problème, tout semble correct
0
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 1
9 sept. 2011 à 17:28
Bonjour,

tout semble correcte chez vous? vraiment chez je mois je deviens fou.
Espoir perdu de solution si le diagnostic de ma maladie n'a rien révélé.
Donc si vous lancé l'execution de la macro aucun message ne s'affiche?

Mes respects
Bonisam
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
9 sept. 2011 à 18:02
Bonjour,
Eh bien oui maintenant que vous le dite, effectivement le bouton [FERMER] provoque l'affichage d'un message : Impossible d'ouvrir le fichier spécifié.
0
Bonisam Messages postés 144 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 24 avril 2019 1
9 sept. 2011 à 18:12
Bonjour,

A ce niveau ça me pose pas de problème. Est ce qu'après avoir lancé l'execution de la macro reinitialisation donnée vous aviez vérifié que les données de toutes les feuilles sont éffectivement éffacée?

Mes respects
Bonisam
0