OVH Cloud OVH Cloud

Lister des contenus de cellules

2 réponses
Avatar
michel-hirard
Bonjour,
J'ai, dans un classeur, 100 feuilles (01 à 100) ayant la même arcitecture.
Je souhaiterais lister verticalement dans une feuille supplémentaire, le
contenu d'une cellule ayant la même position dans chacune des feuilles.
Par exemple la cellule B20 de chacune des feuilles du classeur.
Il y a bien sûr la solution de construire manuellement la liste avec des
formules de liaison, mais je souhaiterais une solution VBA plus maligne.
Merci à toutes et tous,
Michel,

2 réponses

Avatar
michdenis
Bonjour Michel,

Essaie ceci :

'-----------------------------------
Sub BoucleResults()

Dim Sh As Worksheet, F As Worksheet
Dim B As Integer, N As String

On Error Resume Next
N = ActiveSheet.Name
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Worksheets("Résultats").Delete
On Error GoTo 0
Application.DisplayAlerts = True

Set Sh = Worksheets.Add(after:=Worksheets(Worksheets.Count))
Sh.Name = "Résultats"
With Sh
For Each F In Worksheets
If F.Name <> "Résultats" Then
B = B + 1
.Range("A" & B) = F.Range("B20")
End If
Next
End With
Worksheets(N).Select
Set Workseheet = Nothing: Set F = Nothing
End Sub
'-----------------------------------



Salutations!




"michel-hirard" a écrit dans le message de news:cg9sv1$32d$
Bonjour,
J'ai, dans un classeur, 100 feuilles (01 à 100) ayant la même arcitecture.
Je souhaiterais lister verticalement dans une feuille supplémentaire, le
contenu d'une cellule ayant la même position dans chacune des feuilles.
Par exemple la cellule B20 de chacune des feuilles du classeur.
Il y a bien sûr la solution de construire manuellement la liste avec des
formules de liaison, mais je souhaiterais une solution VBA plus maligne.
Merci à toutes et tous,
Michel,
Avatar
michel-hirard
Merci Denis, ça c'est une manip de pro
et du premier coup encore!...
Salut à toi,
Michel,

"michdenis" a écrit dans le message de
news:
Bonjour Michel,

Essaie ceci :

'-----------------------------------
Sub BoucleResults()

Dim Sh As Worksheet, F As Worksheet
Dim B As Integer, N As String

On Error Resume Next
N = ActiveSheet.Name
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Worksheets("Résultats").Delete
On Error GoTo 0
Application.DisplayAlerts = True

Set Sh = Worksheets.Add(after:=Worksheets(Worksheets.Count))
Sh.Name = "Résultats"
With Sh
For Each F In Worksheets
If F.Name <> "Résultats" Then
B = B + 1
.Range("A" & B) = F.Range("B20")
End If
Next
End With
Worksheets(N).Select
Set Workseheet = Nothing: Set F = Nothing
End Sub
'-----------------------------------



Salutations!




"michel-hirard" a écrit dans le message de
news:cg9sv1$32d$

Bonjour,
J'ai, dans un classeur, 100 feuilles (01 à 100) ayant la même arcitecture.
Je souhaiterais lister verticalement dans une feuille supplémentaire, le
contenu d'une cellule ayant la même position dans chacune des feuilles.
Par exemple la cellule B20 de chacune des feuilles du classeur.
Il y a bien sûr la solution de construire manuellement la liste avec des
formules de liaison, mais je souhaiterais une solution VBA plus maligne.
Merci à toutes et tous,
Michel,