VB : [resolu]selection de cellules selon leur propriété

biablo

XLDnaute Nouveau
Bonjour,

J'ai un petit souci, j'ai créer une série de macro qui sélectionne toute les cellules ayant un format identique (protection - 1decimale - 2 decimales - texte - standard - ...)

Mon souci est qu'à la fin de la macro j'ai cellule de plus à chaque fois (la cellule active) je n'arrive pas à mettre la cellule active sur une des selectionnées sans que cela n'efface toute la selection.

De plus, j n'arrive pas à mettre une MSG box si la fiche ne contient pas ces parametre.


Code:
Sub CELLPROT()
'Macro qui analyse le statut de verrouillage de chaque cellule
   Sheets("fiche").Select
  Set champ = Nothing
  'zone de recheche etendue à toute la fiche
  For Each c In ActiveSheet.UsedRange
    If Not c.Locked Then
      If champ Is Nothing Then
        Set champ = c
      Else
        Set champ = Union(champ, c)
      End If
    End If
  Next c
  champ.Select
  'voir pour avoir la cellule active sur la derniere cell activ.

If champ.Select = 0 Then
MsgBox "il n'y a pas de cellule protegée"
End If
  
End Sub

merci d'avance
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : VB : selection de cellules selon leur propriété

Bonjour le fil, bonjour le forum,

Peut-être comme ça :
Code:
Sub CELLPROT()
Dim champ As Range
Dim c As Range

With Sheets("fiche")
    Set champ = .Range("A1000") 'choisir une cellule en dehors de UsedRange
    For Each c In .UsedRange
        If c.Locked = True Then
            Set champ = IIf(champ.Address = "$A$1000", c, Application.Union(champ, c)) 'à adapter avec l'adresse choisie
        End If
    Next c
End With
If champ.Address = "$A$1000" Then
    MsgBox "Il n'y a pas de cellule protegée."
Else
    champ.Select
End If
End Sub
 

Discussions similaires

Réponses
1
Affichages
222
Réponses
0
Affichages
196