IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fonction date semaine [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut Fonction date semaine
    Bonjour à tous,

    Je vous sollicite une nouvelle fois car j'ai besoins de votre aide pour résoudre un petit problème.

    J'ai crée un code qui copie les données d'une feuille ("Test") par rapport à la date du jour vers une autre feuille (CopieTest).

    Mais voilà, j'aurais aimé que ce code copie le contenu de l'ensemble des feuilles par rapport à la semaine en cour.
    C'est à dire que actuellement nous sommes semaine 27, et j'aurai aimé copier le contenu des feuilles du 02-07-2012, 03-07-2012, 04-07-2012, 05-07-2012, 06-07-2012.

    Vous trouverez ci-joint les fichiers pour cette exemple et ci-dessous les lignes de code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Option Explicit
    Sub Copie()
     
    Dim Wbk As Workbook
    Dim Ws As Worksheet
    Dim Chemin As String
    Dim ligne As Long
    Dim I As Integer
     
    Application.ScreenUpdating = False
    Chemin = "C:\CopieTest.xlsx"
    If Dir(Chemin) <> "" Then
        Set Wbk = Workbooks.Open(Filename:=Chemin, UpdateLinks:=False)
     
        With Wbk.Worksheets(1)
     
        ligne = .Cells(.Rows.Count, "A").End(xlUp).Row      'supprime les données du jour
          For I = ligne To 1 Step -1
          If Cells(I, 1).Value = Date Then
           Cells(I, 1).EntireRow.Delete
        End If
     
        Next I
     
            For Each Ws In ThisWorkbook.Worksheets      'copie les données du jour
     
                If Ws.Name = Format(Date, "dd-mm-yyyy") Then    'recherche les onglets avec la date du jour
                   ligne = Ws.Range("A" & Range("A:A").Rows.Count).End(xlUp).Row
                    Ws.Range("A1:B" & ligne).Copy
                    .Range("A1").Insert Shift:=xlDown
     
                    End If
            Next Ws
        End With
     
        'Wbk.Close True
        Set Wbk = Nothing
     
    Else
        MsgBox "Fichier " & Chemin & " inexistant"
    End If
    End Sub
    Test.xlsx
    CopieTest.xlsx

    Merci beaucoup pour votre aide.

    Bonne journée

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Je n'ai testé que la partie "date" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub Copie()
     
    Dim Wbk As Workbook
    Dim Ws As Worksheet
    Dim Chemin As String
    Dim ligne As Long
    Dim I As Integer
    Dim JourSem As Integer
     
    Application.ScreenUpdating = False
    Chemin = "C:\CopieTest.xlsx"
    If Dir(Chemin) <> "" Then
        Set Wbk = Workbooks.Open(Filename:=Chemin, UpdateLinks:=False)
     
        With Wbk.Worksheets(1)
     
            ligne = .Cells(.Rows.Count, "A").End(xlUp).Row      'supprime les données du jour
              For I = ligne To 1 Step -1
              If Cells(I, 1).Value = Date Then
               Cells(I, 1).EntireRow.Delete
            End If
     
            Next I
     
            JourSem = Application.Weekday(Date, 2)
            For Each Ws In ThisWorkbook.Worksheets      'copie les données du jour
                For I = 1 To 5
                    If Ws.Name = Format(Date - JourSem + I, "dd-mm-yyyy") Then    'recherche les onglets avec la date du jour
                       ligne = Ws.Range("A" & Range("A:A").Rows.Count).End(xlUp).Row
                        Ws.Range("A1:B" & ligne).Copy
                        .Range("A1").Insert Shift:=xlDown
                    End If
                Next I
            Next Ws
        End With
     
        'Wbk.Close True
        Set Wbk = Nothing
     
    Else
        MsgBox "Fichier " & Chemin & " inexistant"
    End If
    End Sub

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Bonjour Daniel.C,

    Merci beaucoup pour ta réponse, cela fonctionne parfaitement. J'ai également réussi la fonction "date".
    Toutefois, je voulais savoir si il était possible que la copie des données se fasse de façon décroissante, c'est à dire la date la plus grande jusqu'a la plus petite.
    De plus, que signie le chiffre "2" sur cette ligne de code : JourSem = Application.Weekday(Date, 2)

    Pour ceux que cela intéresse, voici la ligne de code avec la fonction "date"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Option Explicit
    Sub Copie()
     
    Dim Wbk As Workbook
    Dim Ws As Worksheet
    Dim Chemin As String
    Dim ligne As Long
    Dim I As Integer
    Dim N As Integer
    Dim JourSem As Integer
     
     
    Application.ScreenUpdating = False
    Chemin = "C:\CopieTest.xlsx"
    If Dir(Chemin) <> "" Then
        Set Wbk = Workbooks.Open(Filename:=Chemin, UpdateLinks:=False)
     
        With Wbk.Worksheets(1)
        JourSem = Application.Weekday(Date, 2)
        ligne = .Cells(.Rows.Count, "A").End(xlUp).Row      'supprime les données du jour
          For I = ligne To 1 Step -1
            For N = 1 To 5
              If Cells(I, 1).Value = Date - JourSem + N Then
           Cells(I, 1).EntireRow.Delete
        End If
         Next N
        Next I
     
     
            JourSem = Application.Weekday(Date, 2)
            For Each Ws In ThisWorkbook.Worksheets      'copie les données du jour
                For I = 1 To 5
                If Ws.Name = Format(Date - JourSem + I, "dd-mm-yyyy") Then  'recherche les onglets avec la date du jour
                   ligne = Ws.Range("A" & Range("A:A").Rows.Count).End(xlUp).Row
                    Ws.Range("A1:B" & ligne).Copy
                    .Range("A1").Insert Shift:=xlDown
     
                    End If
                    Next I
            Next Ws
        End With
     
        'Wbk.Close True
        Set Wbk = Nothing
     
    Else
        MsgBox "Fichier " & Chemin & " inexistant"
    End If
    End Sub
    Merci encore Daniel.

    Cordialement

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    De plus, que signie le chiffre "2" sur cette ligne de code : JourSem = Application.Weekday(Date, 2)
    "WeekDay" est la transcription VBA de la fonction Excel JOURSEM. Le paramètre "2" signifie que le premier jour de la semaine est le lundi.
    Sinon, pour avoir les feuilles du vendredi au lundi, remplace :

    par :

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Merci Daniel pour la précision sur le "Weekday".

    Cela ne fonctionne pas en modifiant la ligne :

    For I = 5 to 1

    Rien ne ce copie sur la feuille copie test.

    Merci

    Cordialement.

  6. #6
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par Daniel.C Voir le message
    Bonjour,

    Dans ce cas il faut préciser le "pas"

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Bonjour fring,

    Sa ne marche pas non plus, les dates sont toujours dans l'ordre croissant.

    Merci

    Cordialement

  8. #8
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par manu900 Voir le message
    Sa ne marche pas non plus, les dates sont toujours dans l'ordre croissant.
    Je ne répondais pas à ton problème mais je précisais à Daniel que lorsqu'on veut faire une boucle allant du plus grand au plus petit il faut préciser le pas de décrémentation.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    @ fring : le rouge me monte au front

    Comme le suggère fring, corrige :

    au lieu de :


  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Bonjour Daniel,

    La modif n'a rien changé, j'ai toujors les dates classées par ordre croissant.

    Merci.

    Cordialement

  11. #11
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Essaie comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Sub Copie()
     
    Dim Wbk As Workbook
    Dim Ws As Worksheet
    Dim Chemin As String
    Dim ligne As Long
    Dim I As Integer
    Dim JourSem As Integer
     
    Application.ScreenUpdating = False
    Chemin = "C:\CopieTest.xlsx"
    If Dir(Chemin) <> "" Then
        Set Wbk = Workbooks.Open(Filename:=Chemin, UpdateLinks:=False)
     Set Wbk = ActiveWorkbook
        With Wbk.Worksheets(1)
     
            ligne = .Cells(.Rows.Count, "A").End(xlUp).Row      'supprime les données du jour
              For I = ligne To 1 Step -1
                If Cells(I, 1).Value = Date Then
                 Cells(I, 1).EntireRow.Delete
                End If
     
            Next I
     
            JourSem = Application.Weekday(Date, 2)
     
            For I = 1 To 5
                Set Ws = ThisWorkbook.Worksheets(Format(Date - JourSem + I, "dd-mm-yyyy"))   'recherche les onglets avec la date du jour
                   ligne = Ws.Range("A" & Range("A:A").Rows.Count).End(xlUp).Row
                    Ws.Range("A1:B" & ligne).Copy
                    .Range("A1").Insert Shift:=xlDown
            Next I
     
        'Wbk.Close True
        Set Wbk = Nothing
     End With
    Else
        MsgBox "Fichier " & Chemin & " inexistant"
    End If
    End Sub

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Cela copie correctement les dates par ordre croissant mais ensuite j'ai un message d'erreur sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Ws = ThisWorkbook.Worksheets(Format(Date - JourSem + I, "dd-mm-yyyy"))
    Erreur d'exécution 9 : l'indice n'appartient pas à la sélection
    Merci encore Daniel

    cordialement

  13. #13
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    La macro suppose qu'il y a un onglet par jour ouvré de la semaine. Si ce n'est pas toujours vrai, je peux adapter.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Bonjour Daniel,

    Effectivement, il y a que 5 onglets pour 5 jours. De plus, il est possible d'avoir que 4 ou 3 jours à cause des jours fériés.

    Merci.

    Cordialement.

  15. #15
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Teste cette macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub Copie()
     
    Dim Wbk As Workbook
    Dim Ws As Worksheet
    Dim Chemin As String
    Dim ligne As Long
    Dim I As Integer
    Dim JourSem As Integer
     
    Application.ScreenUpdating = False
    Chemin = "C:\CopieTest.xlsx"
    If Dir(Chemin) <> "" Then
        Set Wbk = Workbooks.Open(Filename:=Chemin, UpdateLinks:=False)
     Set Wbk = ActiveWorkbook
        With Wbk.Worksheets(1)
     
            ligne = .Cells(.Rows.Count, "A").End(xlUp).Row      'supprime les données du jour
              For I = ligne To 1 Step -1
                If Cells(I, 1).Value = Date Then
                 Cells(I, 1).EntireRow.Delete
                End If
     
            Next I
     
            JourSem = Application.Weekday(Date, 2)
     
            On Error Resume Next
            For I = 1 To 5
     
                Set Ws = ThisWorkbook.Worksheets(Format(Date - JourSem + I, "dd-mm-yyyy"))   'recherche les onglets avec la date du jour
                   ligne = Ws.Range("A" & Range("A:A").Rows.Count).End(xlUp).Row
                    Ws.Range("A1:B" & ligne).Copy
                    .Range("A1").Insert Shift:=xlDown
            Next I
            On Error GoTo 0
     
        'Wbk.Close True
        Set Wbk = Nothing
     End With
    Else
        MsgBox "Fichier " & Chemin & " inexistant"
    End If
    End Sub

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Merci beaucoup Daniel, cela fonctionne parfaitement.

    Puis-je te poser une dernière question?

    Merci encore, bonne après-midi

    Cordialement

  17. #17
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Puis-je te poser une dernière question?
    Mais oui !

  18. #18
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Bonjour Daniel,

    La dernière question concerne l'opération "supprimer date."

    Comme vous avez pu le constater, le programme est une sorte de mise à jour des données de la semaine en cour. En effet je supprime les données déja enregistrées pour inscrir les nouvelles.

    Mais voilà, dans mon fichier original, j'ai énormément de dates (classées par ordre décroissant), donc, la fonction "supprimer date" prend énormément de temps à se réaliser puisque c'est une boucle.

    Je souhaite donc savoir si il est possible de modifier le début du programme afin que cette opération soit rapide. Pour information, les dates de la semaine en cour à supprimer se situe dans les 400 premières lignes.

    Voici à ce stade le code du programme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Option Explicit
    Sub Copie()
     
    Dim Wbk As Workbook
    Dim Ws As Worksheet
    Dim Chemin As String
    Dim ligne As Long
    Dim I As Integer
    Dim N As Integer
    Dim JourSem As Integer
     
     
    Application.ScreenUpdating = False
    Chemin = "C:\CopieTest.xlsx"
    If Dir(Chemin) <> "" Then
        Set Wbk = Workbooks.Open(Filename:=Chemin, UpdateLinks:=False)
     
        With Wbk.Worksheets(1)                              ''supprime les données des dates de la semaine
        JourSem = Application.Weekday(Date, 2)
        ligne = .Cells(.Rows.Count, "A").End(xlUp).Row
          For I = ligne To 1 Step -1
            For N = 1 To 5
              If Cells(I, 1).Value = Date - JourSem + N Then
           Cells(I, 1).EntireRow.Delete
        End If
         Next N
        Next I
     
     JourSem = Application.Weekday(Date, 2)
     
            On Error Resume Next                'copie les données de la semaine
            For I = 1 To 5
     
                Set Ws = ThisWorkbook.Worksheets(Format(Date - JourSem + I, "dd-mm-yyyy"))
                   ligne = Ws.Range("A" & Range("A:A").Rows.Count).End(xlUp).Row
                    Ws.Range("A1:B" & ligne).Copy
                    .Range("A1").Insert Shift:=xlDown
            Next I
            On Error GoTo 0
     
        'Wbk.Close True
        Set Wbk = Nothing
     End With
    Else
        MsgBox "Fichier " & Chemin & " inexistant"
    End If
    End Sub
    Merci pour ta réponse.

    Cordialement.

  19. #19
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour supprimer en une instruction plusieurs lignes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Range("A4:A24").EntireRow.Delete
    Ceci dit supprimer plusieurs lignes dans une boucle peut être accéléré en utilisant l'instruction Application.ScreenUpdating
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Application.ScreenUpdating = False
     ' Boucle + Instructions
     ......
     .....
    Application.ScreenUpdating = True

  20. #20
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2012
    Messages : 56
    Points : 17
    Points
    17
    Par défaut
    Bonjour Corona,

    Le problème de faire une instruction sur plusieurs ligne c'est que cela me supprime des lignes que je ne souhaite pas. En effet, je souhaite supprimer un ensemble de ligne dont les cellules contiennent les dates de la semaine en cours.

    Merci.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Fonction date semaine
    Par xc78370 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/09/2009, 08h49
  2. Réponses: 6
    Dernier message: 26/03/2009, 10h32
  3. Som dans form continu en fonction date selectionée dans form
    Par samlepiratepaddy dans le forum Access
    Réponses: 3
    Dernier message: 26/09/2005, 13h05
  4. Fonction Date
    Par marivi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/08/2005, 16h30
  5. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo