Bonjour à tous,
Afin de gagner du temps dans mon travail je souhaiterais créé une macro, me permettant de copier en valeur certaine colonnes (de la colonne A K) sur un autre onglet avec comme critère une date dans la cellule ( peu importe la quel => colonne X) .
De plus cette macro sera lancé tout les jours , et je ne doit pas avoir de doublon … :/
Je travail actuellement sur un fichier test , malheureusement le code macro ne marche pas . … POurriez-vous me conseiller ?
voici quelque codes que javai commencé mais je n'arive pas a les compilé
Sub Macro5()
'
' Macro5 Macro
'
'
ActiveSheet.Range("$A$1:$X$20").AutoFilter Field:=24
ActiveSheet.Range("$A$1:$X$20").AutoFilter Field:=24, Criteria1:="<>A RENSEIGNER", Criteria2:="<>N/A"
Range("X1").Select
Range("B3:B20").Select
Selection.Copy
Sheets("SUIVI").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("ENCOUR").Select
Range("C3:J20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("SUIVI").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
=>Me permet de filter sur les dates et de les copier en valeur
et aussi
Option Explicit
Sub Dates_compter()
Dim c As Range, compteur
On Error GoTo fin
compteur = 0
For Each c In [n:r].SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants)
If IsDate(c) Then compteur = compteur + 1
Next
[a6] = compteur & " date(s)"
Exit Sub
fin:
MsgBox " Les colonnes sont vides !"
End Sub
=> pour savoir le nombre de lignes qui contient une date qui a été collé dans l'onglet
ActiveSheet.Range("$E$1:$G$22").RemoveDuplicates Columns:=Array(1, 2, 3), _
Header:=xlYes
=> pour supprimer les doublon avant de les coller
De plus je souhaiterai qua chaque exécution il copie a partir de la dernière ligne active
Merci d'avance pour votre aide
Cordialement ,
Afin de gagner du temps dans mon travail je souhaiterais créé une macro, me permettant de copier en valeur certaine colonnes (de la colonne A K) sur un autre onglet avec comme critère une date dans la cellule ( peu importe la quel => colonne X) .
De plus cette macro sera lancé tout les jours , et je ne doit pas avoir de doublon … :/
Je travail actuellement sur un fichier test , malheureusement le code macro ne marche pas . … POurriez-vous me conseiller ?
voici quelque codes que javai commencé mais je n'arive pas a les compilé
Sub Macro5()
'
' Macro5 Macro
'
'
ActiveSheet.Range("$A$1:$X$20").AutoFilter Field:=24
ActiveSheet.Range("$A$1:$X$20").AutoFilter Field:=24, Criteria1:="<>A RENSEIGNER", Criteria2:="<>N/A"
Range("X1").Select
Range("B3:B20").Select
Selection.Copy
Sheets("SUIVI").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("ENCOUR").Select
Range("C3:J20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("SUIVI").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
=>Me permet de filter sur les dates et de les copier en valeur
et aussi
Option Explicit
Sub Dates_compter()
Dim c As Range, compteur
On Error GoTo fin
compteur = 0
For Each c In [n:r].SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants)
If IsDate(c) Then compteur = compteur + 1
Next
[a6] = compteur & " date(s)"
Exit Sub
fin:
MsgBox " Les colonnes sont vides !"
End Sub
=> pour savoir le nombre de lignes qui contient une date qui a été collé dans l'onglet
ActiveSheet.Range("$E$1:$G$22").RemoveDuplicates Columns:=Array(1, 2, 3), _
Header:=xlYes
=> pour supprimer les doublon avant de les coller
De plus je souhaiterai qua chaque exécution il copie a partir de la dernière ligne active
Merci d'avance pour votre aide
Cordialement ,