Code VBA pour trouver tous les lundi dans la colonne A

Bonjour à tous,

J'ai besoin de votre aide, après avoir parcouru ce site et bien d'autres je bloque et je me retourne vers vous.

Ma demande si c'est possible: trouver tous les lundi(format date) dans la colonne A. si j'arrive à avoir ce code je pourrais progresser dans mon appli en lui donnant des actions à faire en VBA.

D'avance merci de votre aide

Daniel

Bonjour

Tu devrais joindre un fichier en montrant ce que tu as et ce que tu voudrais obtenir.

Bye !

re,

ci-joint mon fichier, j'ai une feuille matrice des contrôles véhicules qu'avec mon userform(textbox) je souhaiterais basculer tous les controles du lundi dans la feuille répartition des taches

D'avance merci de jeter un œil

18test.xlsm (262.63 Ko)

Bonjour,

Au vu de ton code du Userform5, je suggèrerais une simplification pour éliminer ces énumérations soporifiques dans tes deux procédures :

Private Sub UserForm_Initialize()
    Dim i%
    With Worksheets("matrice").Range("B1:C14")
        For i = 1 To 28
            Controls("TextBox" & i).Value = .Cells(i)
        Next i
    End With
End Sub

Et même chose dans l'autre sens pour la validation :

Private Sub CommandButton1_Click()
    Dim i%
    With Worksheets("matrice").Range("B1:C14")
        For i = 1 To 28
            .Cells(i) = Controls("TextBox" & i).Value
        Next i
    End With
    Unload Me
End Sub

Mais pour ce qui de ta bascule vers la Répartition des tâches, je n'ai pas compris ce que tu souhaites obtenir.

Cordialement.

re

D'abord merci beaucoup pour cette simplification du code userform et bouton click!

Pour la bascule vers répartition des taches j'aurais voulu que le code vba trouve lundi dans la colonne A(de répartition des taches) et avec un offest je l'aurais fait se déplacer dans la cellule grise C2 pour lui attribuer la valeur de la textbox1...

puis j'aurais fais une boucle pour qu'il le fasse a tous les lundi.

Merci de m'aider

Est-ce qu'il s'agit des cellules C2, D2, C5, D5 de la Répartition qui sont à alimenter avec les cellules B1, C1, B2, C2 de la matrice, respectivement ?

Dans ce cas les autres jours de la semaine sont-ils aussi à alimenter avec la matrice ?

Ton tableau de répartition commence-t-il toujours un lundi, quelle que soit l'année ?

Pour se terminer un dimanche ?

Cordialement.

re

oui exactement il s'agit bien des cellules c2 d2 c5 d5 pour lundi et oui les autres jours de la semaine seront alimenter avec la matrice.

Et mon tableau commencera toujours un lundi quelque soit l’année et se terminera un dimanche.

D'avance merci de m'aider

Re,

Méthode simple ( ) : on remplit tout d'un seul coup.

Sub TachesHebdomadaires()
    Dim THeb(41), i%
    With Worksheets("matrice").Range("B1:C14")
        For i = 1 To 14
            THeb((i - 1) * 3) = .Rows(i).Value
            THeb((i - 1) * 3 + 1) = Array(Empty, Empty)
            THeb((i - 1) * 3 + 2) = Array(Empty, Empty)
        Next i
    End With
    Application.ScreenUpdating = False
    With Worksheets("REPARTITION DES TACHES").Range("C2:D43")
        For i = 0 To 52
            .Offset(i * 44).Value = WorksheetFunction.Transpose( _
             WorksheetFunction.Transpose(THeb))
        Next i
    End With
End Sub

Mais cela suppose qu'au moment où on le fait, il n'y a rien sur les lignes intermédiaires blanches des colonnes C et D, car on procède ici par affectation d'une plage couvrant la semaine, avec boucle pour le répéter sur les 53 semaines... ???

NB- Rectifie ta formule NO.SEMAINE : remplacer le paramètre 2 par 21 pour qu'elle donne le numéro selon la norme ISO européenne (ou utiliser sous 2016 la fonction NO.SEMAINE.ISO).

Tu verra que ta semaine 53 deviendra semaine 1...

Cordialement.

Bonjour,

un GRANNNND merci MFerrand! Génial ça fonctionne à merveille.

je vous remercie énormément, merci de votre disponibilité.

Daniel

Rechercher des sujets similaires à "code vba trouver tous lundi colonne"