Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nombre de Plages avec des cellules non vides dans une feuille.

4 réponses
Avatar
RV
Bonjour =E0 tous et bonne journ=E9e.

Voici ma question : dans une feuille d'un classeur, je=20
voudrais connaitre le nombre de plages de cellules non=20
vides et nommer chacune de ces plages : plage 1 plage 2 etc
Comment puis je m'y prendre ?

merci pour votra aide

Herv=E9

4 réponses

Avatar
michdenis
Bonjour RV,

Essaie ceci : à copier dans un module standard, adapte le nom de la feuille dans la procédure selon ton application.

Attention aux lignes coupées par le service de messagerie !

'----------------------------
Sub NommerPlageNonVide()
Dim Tblo(), B As Integer, X As Integer
Dim A As Integer, Rg As Range

On Error Resume Next
For X = 0 To 1
With Worksheets("Feuil1")
If X = 0 Then
Set Rg = .UsedRange.SpecialCells(xlCellTypeConstants)
Else
Set Rg = .UsedRange.SpecialCells(xlCellTypeFormulas)
End If
End With

If Not Rg Is nothint Then
For Each c In Rg.Areas
ReDim Preserve Tblo(A)
If IsError(Application.Match(c.CurrentRegion.Address, Tblo, 0)) Then
Tblo(A) = c.CurrentRegion.Address
B = B + 1
c.CurrentRegion.Name = "Plage" & B
A = A + 1
End If

Next
End If
Next
Set Rg = Nothing
End Sub
'----------------------------


Salutations!


"RV" a écrit dans le message de news:cde601c43980$8ad134e0$
Bonjour à tous et bonne journée.

Voici ma question : dans une feuille d'un classeur, je
voudrais connaitre le nombre de plages de cellules non
vides et nommer chacune de ces plages : plage 1 plage 2 etc
Comment puis je m'y prendre ?

merci pour votra aide

Hervé
Avatar
michdenis
En supplément,

Si tu veux obtenir le nombre de plage, tu ajoutes ceci comme dernière ligne à ton code

Msgbox A -1 & " Plages de cellules dénombrées"


Salutations!


Essaie ceci : à copier dans un module standard, adapte le nom de la feuille dans la procédure selon ton application.

Attention aux lignes coupées par le service de messagerie !

'----------------------------
Sub NommerPlageNonVide()
Dim Tblo(), B As Integer, X As Integer
Dim A As Integer, Rg As Range

On Error Resume Next
For X = 0 To 1
With Worksheets("Feuil1")
If X = 0 Then
Set Rg = .UsedRange.SpecialCells(xlCellTypeConstants)
Else
Set Rg = .UsedRange.SpecialCells(xlCellTypeFormulas)
End If
End With

If Not Rg Is nothint Then
For Each c In Rg.Areas
ReDim Preserve Tblo(A)
If IsError(Application.Match(c.CurrentRegion.Address, Tblo, 0)) Then
Tblo(A) = c.CurrentRegion.Address
B = B + 1
c.CurrentRegion.Name = "Plage" & B
A = A + 1
End If

Next
End If
Next
Set Rg = Nothing
End Sub
'----------------------------


Salutations!


"RV" a écrit dans le message de news:cde601c43980$8ad134e0$
Bonjour à tous et bonne journée.

Voici ma question : dans une feuille d'un classeur, je
voudrais connaitre le nombre de plages de cellules non
vides et nommer chacune de ces plages : plage 1 plage 2 etc
Comment puis je m'y prendre ?

merci pour votra aide

Hervé
Avatar
RV
Merci beaucoup
Ca marche impeccable

Cordialement

Hervé
-----Message d'origine-----
Bonjour RV,

Essaie ceci : à copier dans un module standard, adapte le
nom de la feuille dans la procédure selon ton application.


Attention aux lignes coupées par le service de
messagerie !


'----------------------------
Sub NommerPlageNonVide()
Dim Tblo(), B As Integer, X As Integer
Dim A As Integer, Rg As Range

On Error Resume Next
For X = 0 To 1
With Worksheets("Feuil1")
If X = 0 Then
Set Rg = .UsedRange.SpecialCells
(xlCellTypeConstants)

Else
Set Rg = .UsedRange.SpecialCells
(xlCellTypeFormulas)

End If
End With

If Not Rg Is nothint Then
For Each c In Rg.Areas
ReDim Preserve Tblo(A)
If IsError(Application.Match
(c.CurrentRegion.Address, Tblo, 0)) Then

Tblo(A) = c.CurrentRegion.Address
B = B + 1
c.CurrentRegion.Name = "Plage" & B
A = A + 1
End If

Next
End If
Next
Set Rg = Nothing
End Sub
'----------------------------


Salutations!


"RV" a écrit dans
le message de news:cde601c43980$8ad134e0

$
Bonjour à tous et bonne journée.

Voici ma question : dans une feuille d'un classeur, je
voudrais connaitre le nombre de plages de cellules non
vides et nommer chacune de ces plages : plage 1 plage 2
etc

Comment puis je m'y prendre ?

merci pour votra aide

Hervé


.



Avatar
RV
Merci beaucoup
-----Message d'origine-----
En supplément,

Si tu veux obtenir le nombre de plage, tu ajoutes ceci
comme dernière ligne à ton code


Msgbox A -1 & " Plages de cellules dénombrées"


Salutations!


Essaie ceci : à copier dans un module standard, adapte
le nom de la feuille dans la procédure selon ton

application.

Attention aux lignes coupées par le service de
messagerie !


'----------------------------
Sub NommerPlageNonVide()
Dim Tblo(), B As Integer, X As Integer
Dim A As Integer, Rg As Range

On Error Resume Next
For X = 0 To 1
With Worksheets("Feuil1")
If X = 0 Then
Set Rg = .UsedRange.SpecialCells
(xlCellTypeConstants)

Else
Set Rg = .UsedRange.SpecialCells
(xlCellTypeFormulas)

End If
End With

If Not Rg Is nothint Then
For Each c In Rg.Areas
ReDim Preserve Tblo(A)
If IsError(Application.Match
(c.CurrentRegion.Address, Tblo, 0)) Then

Tblo(A) = c.CurrentRegion.Address
B = B + 1
c.CurrentRegion.Name = "Plage" & B
A = A + 1
End If

Next
End If
Next
Set Rg = Nothing
End Sub
'----------------------------


Salutations!


"RV" a écrit dans
le message de news:cde601c43980$8ad134e0

$
Bonjour à tous et bonne journée.

Voici ma question : dans une feuille d'un classeur, je
voudrais connaitre le nombre de plages de cellules non
vides et nommer chacune de ces plages : plage 1 plage 2
etc

Comment puis je m'y prendre ?

merci pour votra aide

Hervé



.