VBA identification d'une cellule protégée

Fermé
tristan19 - 13 août 2010 à 09:43
 tristan19 - 16 août 2010 à 12:43
Bonjour,

je viens de penser à un truc dites moi si c'est possible j'ai des cellules vérouillés et d'autres pas je peux dans la macro executer une requête avec cette condition
Par exemple ( je ne sais pas la definition pour dire que la cellule est bloquée)
If [D9] ????????? = ??Locked?? Then

Ci dessous mon code qui ne marche pas :( (bon soyez indulgent :)))

Sub testplantilla()

'voila un bout de code qui va ouvrir 2 fichier par la fenetre _
douverture manuelle et stocker les 2 classeurs dans 2 variable'

Dim classeur1, classeur2 As Workbook

Dim filename As Variant


filename = Application.GetOpenFilename("fichier excel (*.xlsx), *.xlsx", _
, "Sélection de vos fichiers excel", , False)

Set classeur1 = Workbooks.Open(filename)

filename = Application.GetOpenFilename("fichier excel (*.xlsx), *.xlsx", _
, "Sélection de vos fichiers excel", , False)

Set classeur2 = Workbooks.Open(filename)



For i = 0 To 727


If classeur1.Sheets("bilan").Range("E9").Locked = True Then

Range("E9") = ""

Else
classeur1.Sheets("bilan").Range("E9").Offset(i, 0).Value = _
Application.WorksheetFunction.VLookup( _
classeur1.Sheets("bilan").Range("D9").Offset(i, 0), _
classeur2.Sheets("bilan").Range("D9:E727"), 2, 0)


End If

Next i

End Sub


3 réponses

Persone :(
0
Bonjour,

Par ce code, tu sais si ta cellule est verrouillée, ou non....


If Range("A1").Locked Then
    MsgBox "Cellule verrouillée"
End If


Bonne journée
0
Ce qui est bizarre c'est que avec le code ci dessous il a l'air de comprendre que toutes les cellules sont bloqués alors qu'il n'en est rien. De plus lorsque j'inverse la condition il me met un bogage haaaa

Faut il représiser dans quel classeur allez regarder ?

Sub testplantilla()


'voila un bout de code qui va ouvrir 2 fichier par la fenetre _
douverture manuelle et stocker les 2 classeurs dans 2 variable'


Dim classeur1, classeur2 As Workbook

Dim filename As Variant

filename = Application.GetOpenFilename("fichier excel (*.xlsx), *.xlsx", _
, "Sélection de vos fichiers excel", , False)

Set classeur1 = Workbooks.Open(filename)

filename = Application.GetOpenFilename("fichier excel (*.xlsx), *.xlsx", _
, "Sélection de vos fichiers excel", , False)

Set classeur2 = Workbooks.Open(filename)


'ensuite tu faut utiliser ces 2 variables pour alimenter les cellules _
si tu dois alimenter dans le 1er classeur avec des références au 2eme'

For i = 0 To 727


If Range("E9").Locked Then

Range("E9") = ""


Else

classeur1.Sheets("bilan").Range("E9").Offset(i, 0).Value = _
Application.WorksheetFunction.VLookup( _
classeur1.Sheets("bilan").Range("D9").Offset(i, 0), _
classeur2.Sheets("bilan").Range("D9:E727"), 2, 0)


End If

Next i

End Sub
0