Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Déverrouillage cellule

Sly le globe trotter

XLDnaute Occasionnel
Bonjour,

Je pensais ne pas avoir de problème avec ma fonction mais je coince depuis plusieurs minutes sur une bêtise à mon avis

Pourriez-vous m'aider svp ?

Voici mon souci.
Dans le module d'un fichier, je cherche à déverrouiller des cellules d'un autre fichier Excel qui est ouvert. J'ai créé une fonction de déverrouillage
Code:
Sub UnlockCell(Fichier As String, Onglet As String, IndRow As Integer, IndCol As Integer)

Windows(Fichier).Activate
Sheets(Onglet).Cells(IndRow, IndCol).Select
Selection.Locked = False
Selection.FormulaHidden = False

End Sub

et une fonction principale depuis laquelle je cherche à appeler ma fonction
Code:
Sub Main()

Dim EIEperso As String

EIEperso = "Exemple.xlsx"

UnlockCell EIEperso, "Feuil1", 11, 4
Windows(EIEperso).Activate

End Sub

Le code plante en arrivant sur la ligne
Code:
Windows(Fichier).Activate
avec un message indiquant que l'indice n'appartient pas à la sélection...

J'ai tenté de modifié le chemin du fichier en indiquant le chemin complet mais cela ne change rien...

Merci pour votre aide
 

ROGER2327

XLDnaute Barbatruc
Re : Déverrouillage cellule

Bonjour Sly le globe trotter
Je viens de tester vos procédures. Elles fonctionnent avec la modification suivante :
Code:
[COLOR="DarkSlateGray"][B]Sub Main()

Dim EIEperso As String

EIEperso = "Exemple.[COLOR="Red"]xls[/COLOR]"

UnlockCell EIEperso, "Feuil1", 11, 4
Windows(EIEperso).Activate

End Sub[/B][/COLOR]
ROGER2327
#3568


Mardi 10 Merdre 137 (Saint Barbapoux, amant, SQ)
8 Prairial An CCXVIII
2010-W21-4T16:46:50Z
 

Sly le globe trotter

XLDnaute Occasionnel
Re : Déverrouillage cellule

Bonjour ROGER2327,

Merci pour votre réponse.

De mon côté, même avec vos modifications, cela ne fonctionne pas. Je ne sais pas si cela peut provenir des versions de mes applications mais je travaille sous Windows 7 et Office 2007.

J'ai toujours le même message au même endroit...

En modifiant mon fichier de test et mon fichier de traitement d'Excel 2007 à 2003 (xlsx à xls), cela fonctionne également sur mon PC ! Du coup, je suis bien embêté... Comment faire une macro compatible pour ces deux versions d'Excel ???

Sly
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Déverrouillage cellule

Re...
Ma réponse concerne effectivement Excel2003. Je ne connais pas Excel2007. Si votre problème est lié à cette version, vous devriez le poser sur le forum spécialement consacré à Excel2007.

Comment faire une macro compatible pour ces deux versions d'Excel ???
Excellente question ! Elle devrait passionner notre excellent Bill G..​
ROGER2327
#3570


Mardi 10 Merdre 137 (Saint Barbapoux, amant, SQ)
8 Prairial An CCXVIII
2010-W21-4T21:06:08Z
 
Dernière édition:

Sly le globe trotter

XLDnaute Occasionnel
Re : Déverrouillage cellule

Re bonsoir Roger,

je pensais que mon problème était indépendant de la version d'Excel. il me semble maintenant que cela ne soit plus vrai

je vais donc redirigé ce post sur le forum 2007.

Merci pour votre aide précieuse.

Sly
 

job75

XLDnaute Barbatruc
Re : Déverrouillage cellule

Bonjour Sly le globe trotter, salut Roger,

Il y a peut-être plus d'une fenêtre ouverte pour le même fichier.

Alors remplacer Windows par Workbooks.

Et puis supprimer les Activate, Select, Selection parfaitement inutiles...

Code:
Sub UnlockCell(Fichier As String, Onglet As String, IndRow As Integer, IndCol As Integer)
With [COLOR="Red"]Workbooks[/COLOR](Fichier).Sheets(Onglet).Cells(IndRow, IndCol)
  .Locked = False
  .FormulaHidden = False
End With
End Sub

Sub Main()
Dim EIEperso As String
EIEperso = "Exemple.xlsx"
UnlockCell EIEperso, "Feuil1", 11, 4
[COLOR="red"]Workbooks[/COLOR](EIEperso).Activate
End Sub

Edit : bien sûr il faut que "Exemple.xlsx" soit bien le nom du fichier.

S'il y a des macros c'est "Exemple.xlsm"...

A+
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…