If Not IsNumeric sur plusieurs feuilles

Bonjour,

Je veux être averti lorsque, sélectionnant une plage de cellule sur plusieurs feuilles à la fois, certaine de ces cellules contiennent du texte.

J'ai essayé ceci:

If Not IsNumeric(Selection) = True Then

et

If Not IsNumeric(ActiveCell) = True Then

Les 2 ne fonctionne qu'avec la première feuille sélectionné et Selection donne True aussitôt que plus d'une cellule est sélectionné.

Quelqu'un a une idée?

Bonjour,

Une piste. A mettre dans le module du classeur (ThisWorkbook) :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

    Dim Cel As Range

    For Each Cel In Target

        If Not IsNumeric(Cel.Value) Then
            MsgBox "La cellule '" & Cel.Address(0, 0) & "' de la feuille '" & Sh.Name & "' contient une valeur non numérique !"
        End If

    Next Cel

End Sub

Bonjour,

Plus exact :

Option Explicit

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Dim c As Range, feuille As Worksheet, pl As Range, pl2 As Range, nb As Long, nbSh As Long, msg As String
    If ActiveWorkbook.Windows(1).SelectedSheets.Count = 1 Then Exit Sub ' sortie si 1 seule feuille
    If Target.Count = 1 Then Exit Sub ' sortie si 1 seule cellule, voir si à conserver
    For Each feuille In ActiveWorkbook.Windows(1).SelectedSheets
        With feuille
            For Each c In .Range(Target.Address)
                If Not IsNumeric(c) Then  'éventuellement ajouter And c <> ""
                    If pl Is Nothing Then Set pl = c Else Set pl = Union(pl, c)
                End If
            Next c
        End With
        If Not pl Is Nothing Then msg = msg & vbLf & feuille.Name & "!" & pl.Address
        Set pl = Nothing
    Next feuille
    If msg <> "" Then MsgBox "Texte en : " & msg
End Sub

Une cellule en erreur est considérée comme du texte, compléter s'il faut les exclure.

eric

Rechercher des sujets similaires à "isnumeric feuilles"