[RESOLU] Vérification présence onglet avec le nom de cellules dans plage

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jozerebel

XLDnaute Occasionnel
Salut à tous,

J'ai une plage de cellules avec des valeurs à l'intérieur qui normalement correspondent à des noms d'onglets de ce même classeur.

Sauf qu'il peut arriver parfois qu'une valeur fasse référence à un onglet inexistant. Ce qui est problématique pour mes formules et mes macros.

Du coup, avant de lancer d'autres macros, je souhaiterais avertir l'utilisateur de la non présence (si c'est le cas) d'un ou plusieurs onglets.

J'ai bidouillé la macro suivante, mais ça ne fonctionne pas. ça me boucle sur toutes les feuilles pour chaque cellule (ce que j'ai écrit dans la macro d'ailleurs...) alors que je souhaiterais seulement avoir les valeurs des cellules ne correspondant pas à des onglets présents...

Merci pour votre aide !

Sub testdpt()
Dim Sh As Worksheet
Dim nom As String
Dim c As Range
Dim sel As Range

Set Sh = Sheets("EtatPresence")

Dim DernLigne As Long
DernLigne = Sh.Range("C" & Rows.Count).End(xlUp).Row

MsgBox (DernLigne)

For Each c In Sh.Range("C5:C" & DernLigne)

nom = c.Value

'recherche d'une feuille nommée avec nom
For i = 1 To ThisWorkbook.Worksheets.Count
If ThisWorkbook.Worksheets(i).Name <> nom Then
'si elle est pas présente
MsgBox ("ko" & nom)
End If
Next i
nom = ""

Next c


End Sub
 
Dernière édition:
Re : Vérification présence onglet avec le nom de cellules dans plage

Bonjour,

Essaies ce code :
Code:
Sub testdpt()
Dim w As Worksheet
Dim r As Range
Dim c As Range
Dim s As String

  Set r = Worksheets("EtatPresence").Range("C5")
  Set r = r.Resize(r.End(xlDown).Row - r.Row + 1)
  For Each c In r.Cells
    Set w = Nothing
    On Error Resume Next
    Set w = Worksheets(c.Value)
    On Error GoTo 0
    If w Is Nothing Then s = s & c.Value & vbCr
  Next c
  If s <> "" Then MsgBox "Manque : " & vbCr & s

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
582
Réponses
7
Affichages
657
Retour