VBA identification d'une cellule protégée
tristan19
-
tristan19 -
tristan19 -
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
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
A voir également:
- VBA identification d'une cellule protégée
- Entrer les informations d'identification reseau - Guide
- Excel compter cellule couleur sans vba - Guide
- Bloquer une cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
3 réponses
Bonjour,
Par ce code, tu sais si ta cellule est verrouillée, ou non....
Bonne journée
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
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
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