Récupérer cellules non vides en détectant les changements
S
Bonjour à tous,
Je suis face au problème suivant :
J'ai un tableau qui contient 16502 lignes. Un autre tableau récupère via une macro toutes les lignes non vides dès lors que les cellules d'une des colonnes (ici la colonne F - n°6) sont non vides. Un autre code relance la macro si il y a des changement d valeur dans les cellules.
Mais voilà, ma macro ne mache plus après la ligne 2018 et je n'arrive pas à comprendre pourquoi....
Quelqu'un pourrait me dire si mon code ci-dessous a un problème svp ?
Sub CopierCellulesNonVides()
Dim wsPIVOTmontage As Worksheet
Dim wsPLanningMONTAGE As Worksheet
Dim L As Long
Dim LS As Long
Application.ScreenUpdating = True
Set wsPIVOTmontage = ThisWorkbook.Sheets("PIVOTmontage") 'le nom de ta feuille qui contient les données
Set wsPLanningMONTAGE = ThisWorkbook.Sheets("PLanningMONTAGE") 'le nom de ta feuille de destination
LS = 1
For L = 2 To wsPIVOTmontage.Range("A13502").End(xlUp) 'dernière ligne du tableau
If wsPIVOTmontage.Cells(L, 6) <> "" Then
LS = LS + 1
wsPLanningMONTAGE.Range("A" & LS & ":M" & LS) = wsPIVOTmontage.Range("A" & L & ":M" & L).Value
End If
Next
Application.ScreenUpdating = True
End Sub
Et mon code détectant les changements de valeur dans les cellules :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column >= 1 And Target.Column <= 13 And Target.Row >= 3 And Target.Row <= 13502 Then
Call Feuil11.CopierCellulesNonVides
End If
End Sub
Si quelqu'un pouvait m'aider ce serait top car franchement je bloque...
Merci d'avance !
S
OK j'ai trouvé comme un grand
Il fallait changer :
For L = 2 To wsPIVOTmontage.Range("A13502").End(xlUp) 'dernière ligne du tableau
Par
For L = 2 To 13502
tout simplement !