re
bonjour
juste en passant je corrige la première version de gmp qui n’était pas parfaite (sans vouloir offenser personne)
1 quand on navigue de feuille en feuille prévoir que la macro peut être déclenchée quand feuille source non active (on précise le parent du range)
2 le concat de la ligne pour tester( si non vide )il y a des outils pour ça ....heureusement que le tablo ne fait pas 50 colonnes (LOL)
3 les variables ;et il vraiment nécessaire quelle soient (globales module) et prennent de la place dans la mémoire pour rien
donc juste un peu retouché ça donne ceci
Option Explicit
Sub Exporter()
Dim fh As Worksheet, fc As Worksheet, tablo, tabloR(), i&, j&, k&
Set fh = Sheets("Home")
Set fc = Sheets("calcul2")
'tablo = Range("I3:O" & Range("I" & Rows.Count).End(xlUp).Row)
tablo = fc.Range("I3:O" & Range("I" & Rows.Count).End(xlUp).Row)
k = 0
For i = 1 To UBound(tablo, 1)
'If tablo(i, 1) & tablo(i, 2) & tablo(i, 3) & tablo(i, 4) & tablo(i, 5) _
& tablo(i, 6) & tablo(i, 7) <> "" Then
If Join(Application.Index(tablo, i, 0), "") <> "" Then
ReDim Preserve tabloR(1 To 7, 1 To k + 1)
For j = 1 To 7
tabloR(j, k + 1) = tablo(i, j)
Next j
k = k + 1
End If
Next i
With fh.Range("BE27:BK" & Rows.Count)
.ClearContents
.Resize(UBound(tabloR, 2), 7) = Application.Transpose(tabloR)
.Parent.Activate
End With
End Sub
étonnant c'est même plus rapide
dans la démo ci dessous on vois bien que je lance la macro alors que le sheet actif est "home" et non "calcul"