Probleme VBA evenement WorkSheet

Bonjour

j'ai un souci aucune macro avec fonction WorkSheet ne se déclanche dans une feuille

exemple :

Sub Worksheet_Change(ByVal Target As Range)

ActiveSheet.Unprotect Password:="pascal"

MsgBox "on passe"

If Target.Address = "$B$4" Then

Dim Img As Object

For Each Img In ActiveSheet.Pictures

Img.Delete

Next Img

End If

le msgbox ne s'affiche même pas

j'ai même executé : Application.EnableEvents = True

merci pour celui qui a une idée

Bonjour Chemi, bonjour le forum,

Question qui va t'énerver mais on est obligé d'envisager toutes les possibilités...

Elle est placé où la macro, dans quel composant VBA ?

dans les macros vba de la feuille excel , bien celles de la feuille concernée

Bonjour,

Dans le "Woksheet" de ta feuille

ce ne serait pas plutôt :

Private Sub Worksheet_Change

au lieu de Sub Worksheet_Change

excuse le private y mal copier coller

Re,

J'ai testé ton code sur un fichier avec trois images dans l'onglet actif. J'ai modifié la cellule B4 et les images disparaissent bien... Je ne sais quoi te dire...

Salut Chemi,

A+

Private Sub Worksheet_Change(ByVal Target As Range)

ActiveSheet.Unprotect Password:="pascal"

MsgBox "on passe"

If Target.Address = "$B$4" Then

Dim Img As Object

For Each Img In ActiveSheet.Pictures

Img.Delete

Next Img

End If

end sub

Je vois çà comme problème dans le code mais je ne sais pas si c'est une erreur de recopiage dans le message du forum

ou dans le Worksheet de la feuille

Sans fichier test pour essayer de voir ce qui cloche ….

Bonjour,

Un exemple illustré !...

Cdlt.

24chemi370.xlsm (37.11 Ko)

Je ne vois pas ce que vient faire "option Explicit" dans ton VBA.

- Si c'était bien le "Worksheet" de la feuille qui était demandé ce ne serait pas affiché "(Général)" mais "Worksheet"

- Normalement si tu demandes le Worksheet de la feuille tu n'as pas à saisir la première ni la dernier ligne de ton vba.

-----> fais un copier de la ligne Dim... à End if

Effaces tout même le option Explicit.

sélectionnes en haut à gauche au lieu de général worksheet et inséres ce que tu as copié.

Voilà chez moi çà marche.

Re,

Hou la ! Faut se calmer... L'Option Explicit, se met automatiquement si tu coches dans VBE, dans Outils/Options.../Déclaration des variables obligatoire. C'est plutôt recommandable car ça permet d'éviter bien des bugs même si ça demande plus de rigueur puisqu'il faut systématiquement déclarer toutes les variables. Donc si tu n'aimes pas n'en dégoûte pas les autres...

Si, toujours dans VBE, ton curseur se trouve sur la ligne Option Explicit c'est (Général) qui s'affiche puis que c'est devenu la partie générale des déclarations. En revanche, dès que tu déplaces le curseur en dessous du trait c'est Worksheet qui s'affiche. Pas vraiment de quoi en faire un patacaisse...

Tu t'énerves depuis le début parce qu'il manquait un Private et un End Sub. Je crois que tous ici avions rectifié de nous même pour le End Sub. Quant au Private, tu l'enlèves et ça marche quand même...

ha quel moment je me suis énervé ?

As tu vu un seul smiley colère ? un seul mot en majuscule ?

Je suis calme

Quoi qu'il en soit il suffit de tester sur son fichier test qui ne fonctionnait pas avant :

En copiant son code et en effaçant le tout pour le coller après avoir sélectionner worksheet

son fichier fonctionne.

Bien cordialement et avec calme.

Re,

Là où tu as raison c'est qu'à aucun moment Chemi n'as pas été foutu de fournir le fichier. Mais s'il a ouvert ce fil c'est parce que le code qu'il a écrit devrait fonctionner et, visiblement, ne fonctionne pas chez lui.

Jean-Éric a pris gentiment l'initiative de fournir un fichier pour montrer à Chemi que le code fonctionne chez nous, pour qu'il essaie de voir ce qui ne vas pas chez lui. Pas pour que tu viennes y faire des critiques autant inadaptées qu'improbables :

Je ne vois pas ce que vient faire "option Explicit" dans ton VBA.

- Si c'était bien le "Worksheet" de la feuille qui était demandé ce ne serait pas affiché "(Général)" mais "Worksheet"

Effaces tout même le option Explicit.

En dessous du nom de l'intervenant s'inscrit le nombre de messages qu'il a commis dans ce forum. Compare... Moi je fais ça par habitude non pas par fanatisme...

pas de résultat positif pour l'instant

je ne peut pas fournir le fichier en entier du fait de la confidentialité du projet

merci

Bonjour,

@chemi370;

N'aurais-tu pas d'autres procédures événementielles dans la même feuille, ou autre chose pouvant pertuber ton Worksheet_Change ?

@ Xmenpl,

On a un souci avec Option Explicit ?

Pour terminer, un bonjour à ThauThème !...

Cdlt.

@ Xmenpl,

On a un souci avec Option Explicit ?

Pour terminer, un bonjour à ThauThème !...

Cdlt.

Et aussi un problème de lecture de post Jean-Eric lol

je pensais que ce fichier était à Chemi lol

Par contre ce que je ne comprends pas c'est que çà ne fonctionne pas sur ma version excel et

que je si je copie moi même le code vba dans le worksheet de la feuille alors ensuite il fonctionne

aurais-je aussi un bug

Loin de moi l'idée de mettre en doute tes compétences Thau Thème ( quelque soit ton nombre de messages)

Bonne fin de journée.

Re,

Arf ! Je ne parlais pas des miennes (chuis pas aussi fou vu mes piètres connaissances)... N'en parlons plus, pour moi cette affaire est terminée.

De toutes manières quand j'entends parler de fichier confidentiel j'ai les poils qui se hérissent (oui tous...). Il est tellement facile et rapide de créer un fichier exemple pour montrer un dysfonctionnement...

Rechercher des sujets similaires à "probleme vba evenement worksheet"