Erreur d'exécution '70' Permission refusée

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

cibleo

XLDnaute Impliqué
Bonjour le Forum,

J'aimerais poser une question aux "Harry Potter" du VBA.

Ci-dessous un code qui fonctionne bien : il insère des images en les nommant successivement : pompe1, pompe2, pompe3 etc....

Mais après quelques tests, je me suis aperçu que la suppression manuelle d'une image suivi d'une nouvelle insertion entrainait un petit Bug.

Je m'explique :
Sont insérées mes 3 premières images, je supprime manuellement l'une d'elle (en l'occurence l'image2), me reste alors les 2 images nommées pompe1 et pompe3 .

Dès lors, si je veux effectuer une nouvelle insertion d'image, le message suivant apparaît :Erreur d'exécution '70' Permission refusée.

Dans le code l'instruction suivante est ainsi surlignée
.Name = "pompe " & nombre_pompes + 1

Code:
Private Sub Gazole_Click()
If Not Intersect(Selection, Range("C3:IJ33")) Is Nothing Then
Dim MyCell As Range
Dim MyPicture As Picture
Dim image$
image = "C:\Documents and Settings\JEAN-FRANÇOIS\Mes documents\Mes images\Pompe.gif" 'ou le chemin désiré
Set MyCell = ActiveCell
MyCell.Select
Set MyPicture = ActiveSheet.Pictures.Insert(image)
With MyPicture.ShapeRange
.Name = "pompe " & nombre_pompes + 1
.LockAspectRatio = msoFalse
.Height = MyCell.Height
.Width = MyCell.Width
End With
MyCell.Select
Exit Sub
End If
MsgBox "Mauvaise Sélection !", , Range("A2").Value
   Range("A1").Select
End Sub

Evidemment si je supprime l'image pompe3 au lieu de la n°2, tout fonctionne à merveille.

Comment puis je corriger ce bug ?

Merci de votre aide Cibleo
 
Re : Erreur d'exécution '70' Permission refusée

bonjour cibleo

Il semble que le problème vienne de la gestion du nombre_pompes
Si celui-ci est decrementé lors de la suppression on peut tout a fait demander a renommer un shape avec un nom existant
Une solution consisterait a gerer 2 numeros
un numero jamais decrementé pour nommer : Num_pomp
un numero decrementé pour compter : Nb_pomp
 
Re : Erreur d'exécution '70' Permission refusée

Bonjour Cibleo,

voici la ligne qui nomme l'image, remplacer :
Code:
.Name = "pompe " & trim(Split(.Name)(1))

Cela devrait fonctioner. En tous cas chez moi, ça marche.

A bientôt
 
Re : Erreur d'exécution '70' Permission refusée

Re pierrejean
Bonjour Hasco,

Tous les petits sorciers ne sont pas au cinéma cet après midi, tant mieux pour le forum.

C'est génial, ça marche Hasco, encore un problème de résolu.

Merci à vous deux

Cibleo
 
Re : Erreur d'exécution '70' Permission refusée

Hello Cibleo, PierreJean,

On aurait pu aussi mettre:

Code:
.Name = replace(.Name,"Image ","Pompe"))

Laissant excel attribuer de lui-même les numéros d'image.

A bientôt
 
- 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

Discussions similaires

L
Réponses
1
Affichages
1 K
Vériland
V
Retour