GNT sans publicité, site mobile, fonctionnalitées exclusives...

Amélioration d'un code recopie zones sur un récap

Le
Patrick BASTARD
Bonjour, vous.

Toujours dans l'amélioration du classeur que j'ai mis au point grâce à votre
aimable complicité.
(tous ceux qui m'ont aidé se reconnaitront)
Le code ci-dessous recopie plusieurs zones (situées les unes sous les
autres) de chacune des feuilles du classeur sur une feuille récap.

Mais les 5 lignes de chacune des zones ne sont pas toujours renseignées.
Comment faire pour ne recopier que les lignes renseignées ?

Je vous remercie par avance de vos suggestions,


--
Bien cordialement,
P. Bastard

.
Sub RecopieAno()
Dim z As Byte 'numéro de zone - Byte car pas plus de 256 zones prévues
Dim CCol As Byte 'colonne Cible - Byte car pas + de 256 colonnes
possibles
Dim CLig As Long 'ligne Cible
Dim SLig As Long 'première ligne de la Source
Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
Sheets("Anomalies").Activate
ActiveSheet.Unprotect
CLig = 6 ' Ligne de départ ( 6) pour la zone Cible (sur Anomalies)
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Anomalies" And Sh.Name <> "Administration" _
And Sh.Name <> "Premier" And Sh.Name <> "Modèle" _
And Sh.Name <> "TOTAL" _
Then
CCol = 2
SLig = 7
For z = 0 To 21
Cells(CLig, CCol).Resize(5, 7).Value = _
Sh.Cells(SLig, 13).Resize(5, 7).Value '5 de haut sur 7 de
large
CCol = CCol + 7 'décale de 7 la colonne Cible
SLig = SLig + 7 'décale de 7 la ligne Source
Next
CLig = CLig + 5 'décale de 5 la ligne Cible
End If
Next Sh
Application.EnableEvents = True
Application.Goto Reference:="R6C2"
'appel private sub RecopieDateAno()
RecopieDateAno
'appel private sub RecopieAno2
RecopieAno2
End Sub
Lire la réponse

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrick BASTARD
Le #2128361
Bonjour, vous.

Je me permets (avec mon consentement) de reposter ma question du 19, restée
sans réponse.


Le code ci-dessous recopie plusieurs zones (situées les unes sous les
autres) de chacune des feuilles du classeur sur une feuille récap.

Mais les 5 lignes de chacune des zones ne sont pas toujours renseignées.
Comment faire pour ne recopier que les lignes renseignées ?

Je vous remercie par avance de vos suggestions,

...............................................................................................................................
Sub RecopieAno()
Dim z As Byte 'numéro de zone - Byte car pas plus de 256 zones prévues
Dim CCol As Byte 'colonne Cible - Byte car pas + de 256 colonnes
possibles
Dim CLig As Long 'ligne Cible
Dim SLig As Long 'première ligne de la Source
Dim Sh As Worksheet
Application.ScreenUpdating = False
Application.EnableEvents = False
Sheets("Anomalies").Activate
ActiveSheet.Unprotect
CLig = 6 ' Ligne de départ ( 6) pour la zone Cible (sur Anomalies)
For Each Sh In ThisWorkbook.Sheets
If Sh.Name And Sh.Name And Sh.Name <> "TOTAL" _
Then
CCol = 2
SLig = 7
For z = 0 To 21
Cells(CLig, CCol).Resize(5, 7).Value = _
Sh.Cells(SLig, 13).Resize(5, 7).Value '5 de haut sur 7 de
large
CCol = CCol + 7 'décale de 7 la colonne Cible
SLig = SLig + 7 'décale de 7 la ligne Source
Next
CLig = CLig + 5 'décale de 5 la ligne Cible
End If
Next Sh
Application.EnableEvents = True
Application.Goto Reference:="R6C2"
'appel private sub RecopieDateAno()
RecopieDateAno
'appel private sub RecopieAno2
RecopieAno2
End Sub


--
Bien cordialement,
P. Bastard
Publicité
Suivre les réponses
Poster une réponse
Anonyme