Bonjour à tous,
J'ai un tableau dans lequel j'extrait le nom des collaborateurs sur le départ. Mon problème c'est que j'ai un bug lorsqu'il n'y a aucun départ pour le mois en cours.
Voici mon code:
Windows("fichier_a.xlsm").Activate 'ALLER DANS LE FICHIER A
With Sheets("Départ")
If .FilterMode = True Then .ShowAllData
End With 'SUPPRIMER LES FILTRES ACTIFS
Range("E512:M512").Select
Selection.AutoFilter
ActiveSheet.Range("$E$512:$M$813").AutoFilter Field:=1, Criteria1:="<>"
Range("E513:E812").Copy 'FILTRER LES CELLS VIDES COLONNE 1 ET RECUPERER LE NOM DES COLLABORATEURS
Windows("fichier_b.xlsm").Activate 'ALLER DANS LE FICHIER B
i = Empty ' REINITIALISER LA VARIABLE i
i = Application.WorksheetFunction.CountA(Range("N:N")) 'LA VARIABLE i VAUT LE NOMBRE DE LIGNE NON-VIDE DE LA COLONNE (N)
Cells(i + 1, 14).Select ' SELECTIONNER LA CELL LIGNE i + 1, COLONNE 12 (L)
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'COLLAGE VALEUR
La problématique réside dans le fait que les données du tableau provient de formules, donc les cellules sont vides visuellement mais compte comme non-vide.
=SI(B513=0;"";'Saisie Départ'!H512) ' renvoie au nom du collaborateur
Dans mon cas lorsqu'il n'y a que des cellules vides, ma macro va bien filtrer le tableau mais va quand même copier les cellules dans le second fichier.
J'aimerais dans le cadre où il n'y a aucun contenu dans le tableau (Seul filtre possible = (vides)), que le programme passe a la tache suivante.
Merci par avance,
Stan
Ps: Désolé je ne peux pas joindre de fichier car il y a énormément de données à rendre anonyme, au risque d'avoir des bugs.