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 :D

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:

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

Statistiques des forums

Discussions
311 707
Messages
2 081 734
Membres
101 809
dernier inscrit
HADER2024