Microsoft 365 Archivage a partir de Userform

eric72

XLDnaute Accro
Bonjour à tous,
J'ai un Userform "UsfEffectif" dans lequel je peux attribuer un planning "fixe" en cliquant sur "obfixe", à ce moment j'ai une combobox qui apparait pour choisir la "Semaine Type" ainsi que la date de début du planning avec un Datepicker, lorsque je valide un nouvel équipier, j'aimerai que les données de la semaine s'archivent dans l'onglet "Archives" à l'aide de la macro Z_Archives (méthode TooFatBoy très efficace et rapide", par contre je dois tester s'il y a déjà des données en ligne 3, sinon mettre en ligne11, etc.... Et c'est là que ça bloque. Quand je teste avec un msgbox il me dit bien que c'est vide mais il n'en tient pas compte...
Si quelqu'un a la solution, ca serait top.
Merci beaucoup une nouvelle fois pour votre aide.
Eric
 

Pièces jointes

  • Planning Type test archives.xlsm
    155.3 KB · Affichages: 14
Solution
Bonjour à tous,
J'ai trouvé une solution en ajoutant en colonne "A" un "x" à chaque fois qu'une ligne est remplie.
La méthode n'est pas très académique mais ça a l'air de fonctionner.
Pour ceux que ça peut intéresser!!!
Bonne journée et à bientôt

eric72

XLDnaute Accro
Bonjour à tous,
J'ai trouvé une solution en ajoutant en colonne "A" un "x" à chaque fois qu'une ligne est remplie.
La méthode n'est pas très académique mais ça a l'air de fonctionner.
Pour ceux que ça peut intéresser!!!
Bonne journée et à bientôt
 

Pièces jointes

  • Planning Type test archives.xlsm
    187.1 KB · Affichages: 3

eric72

XLDnaute Accro
Bonjour,

Oui, c'est une bonne idée, je trouve. 👍
VB:
Sub RecupererPlanning2(RangDuJour As Integer)  'DetailPlanning As Integer,
'
Dim LigSource As Long, ColSource As Long, MaDate As Long
Dim OffsetLig As Long, OffsetCol As Long

    Application.ScreenUpdating = False


    LigSource = 3
    MaDate = Application.WorksheetFunction.XLookup("DURAND", Range("TbEffectif[Nom]"), Range("TbEffectif[Date début Fixe]"), 0, 1) 'CDate(UsfEffectif.TxtDateFixe)"
    ColSource = Application.Match(MaDate, Sheets("Archives").Range("2:2"), 0) + RangDuJour - 1
    With Sheets("Archives")

        .Cells( LigSource, 7 + ColSource).Value = .Cells(LigSource, ColSource).Value 'nom


    End With
End Sub

J'ai trouvé cela mais cela m'oblige à mettre "7 + ColSource" puis "14 + ColSource" etc...
Il doit y avoir plus simple.
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
Je regarde ce Fil et je me pose la question il y a dans la feuille Planning (Ligne 6) le lundi Ouverture 7:00 , mais point de 7:00 dans les semaines Type (de l'exemple) ,Normal?
y aurait-il des horaires aménagés ?
Exemple possibilité de Commencer entre 7:00 et 9:00 pour finir entre xxx et xxx
Combien de semaine Type ?
Jean marie
 
Dernière édition:

eric72

XLDnaute Accro
Bonjour le Fil
Je regarde ce Fil et je me pose la question il y a dans la feuille Planning (Ligne 6) le lundi Ouverture 7:00 , mais point de 7:00 dans les semaines Type (de l'exemple) ,Normal?
y aurait-il des horaires aménagés ?
Exemple possibilité de Commencer entre 7:00 et 9:00 pour finir entre xxx et xxx
Combien de semaine Type ?
Jean marie
Bonjour Chti60,
J'espère que tu vas bien
En effet je n'ai mis que 2 exemples de semaine type mais dans le tableau8, j'ai déterminé les heures d'amplitude possible pour chaque jour, les horaires de chaque équipier peuvent être différents, selon le besoin de nombre de personnes par tranche exemple:
- 1 personne présente à 7:00
- 3 personnes à 8:00 etc...
On peut imaginer qu'il y aura autant de semaines type que d'équipiers
Merci
 

eric72

XLDnaute Accro
Bonjour TooFatBoy,
j'ai trouvé un code pour dupliquer mon planning lorsqu'il est fixe mais le temps de traitement est très long:

VB:
Sub DupliquerPlanningFix(RangDuJour As Integer)  'DetailPlanning As Integer,
'
Dim LigSource As Long, ColSource As Long, MaDate As Long
Dim ColDest As Long
    Application.ScreenUpdating = False

Dim i As Variant 'car il est préférable de l'utiliser dans une boucle for each
Dim ligne As Integer
Dim cel As Range

For Each i In Range("3:98")
If i = UsfEffectif.TxtNom.Value Then 'UsfEffectif.TxtNom
Set cel = Cells.Find(what:=i)
ligne = cel.Row 'pour renvoyer le numéro de ligne
Rows(ligne).Select 'activer la igne retrouvée
End If
Next

    LigSource = ligne
    MaDate = CDate(UsfEffectif.TxtDateFixe) 'Application.WorksheetFunction.XLookup("UsfEffectif.TxtNom", Range("TbEffectif[Nom]"), Range("TbEffectif[Date début Fixe]"), 0, 1) 'CDate(UsfEffectif.TxtDateFixe)"
    ColSource = Application.Match(MaDate, Sheets("Archives").Range("2:2"), 0) + RangDuJour - 1
    With Sheets("Archives")
'Nom
        .Cells(LigSource, 7 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 14 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 21 + ColSource) = .Cells(LigSource, ColSource).Value 'nom
        .Cells(LigSource, 28 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 35 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 42 + ColSource) = .Cells(LigSource, ColSource).Value 'nom
        .Cells(LigSource, 49 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 56 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 63 + ColSource) = .Cells(LigSource, ColSource).Value 'nom
        .Cells(LigSource, 70 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 77 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 84 + ColSource) = .Cells(LigSource, ColSource).Value 'nom
        .Cells(LigSource, 91 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 98 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 105 + ColSource) = .Cells(LigSource, ColSource).Value 'nom
        .Cells(LigSource, 112 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 119 + ColSource) = .Cells(LigSource, ColSource).Value: .Cells(LigSource, 126 + ColSource) = .Cells(LigSource, ColSource).Value 'nom
        .Cells(LigSource, 133 + ColSource) = .Cells(LigSource, ColSource).Value
'Semaine Type
        .Cells(1 + LigSource, 7 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 14 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 21 + ColSource) = .Cells(1 + LigSource, ColSource).Value 'nom
        .Cells(1 + LigSource, 28 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 35 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 42 + ColSource) = .Cells(1 + LigSource, ColSource).Value 'nom
        .Cells(1 + LigSource, 49 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 56 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 63 + ColSource) = .Cells(1 + LigSource, ColSource).Value 'nom
        .Cells(1 + LigSource, 70 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 77 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 84 + ColSource) = .Cells(1 + LigSource, ColSource).Value 'nom
        .Cells(1 + LigSource, 91 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 98 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 105 + ColSource) = .Cells(1 + LigSource, ColSource).Value 'nom
        .Cells(1 + LigSource, 112 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 119 + ColSource) = .Cells(1 + LigSource, ColSource).Value: .Cells(1 + LigSource, 126 + ColSource) = .Cells(1 + LigSource, ColSource).Value 'nom
        .Cells(1 + LigSource, 133 + ColSource) = .Cells(1 + LigSource, ColSource).Value
'Absence AM
        .Cells(2 + LigSource, 7 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 14 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 21 + ColSource) = .Cells(2 + LigSource, ColSource).Value 'nom
        .Cells(2 + LigSource, 28 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 35 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 42 + ColSource) = .Cells(2 + LigSource, ColSource).Value 'nom
        .Cells(2 + LigSource, 49 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 56 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 63 + ColSource) = .Cells(2 + LigSource, ColSource).Value 'nom
        .Cells(2 + LigSource, 70 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 77 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 84 + ColSource) = .Cells(2 + LigSource, ColSource).Value 'nom
        .Cells(2 + LigSource, 91 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 98 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 105 + ColSource) = .Cells(2 + LigSource, ColSource).Value 'nom
        .Cells(2 + LigSource, 112 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 119 + ColSource) = .Cells(2 + LigSource, ColSource).Value: .Cells(2 + LigSource, 126 + ColSource) = .Cells(2 + LigSource, ColSource).Value 'nom
        .Cells(2 + LigSource, 133 + ColSource) = .Cells(2 + LigSource, ColSource).Value
'Début AM
        .Cells(3 + LigSource, 7 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 14 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 21 + ColSource) = .Cells(3 + LigSource, ColSource).Value 'nom
        .Cells(3 + LigSource, 28 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 35 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 42 + ColSource) = .Cells(3 + LigSource, ColSource).Value 'nom
        .Cells(3 + LigSource, 49 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 56 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 63 + ColSource) = .Cells(3 + LigSource, ColSource).Value 'nom
        .Cells(3 + LigSource, 70 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 77 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 84 + ColSource) = .Cells(3 + LigSource, ColSource).Value 'nom
        .Cells(3 + LigSource, 91 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 98 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 105 + ColSource) = .Cells(3 + LigSource, ColSource).Value 'nom
        .Cells(3 + LigSource, 112 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 119 + ColSource) = .Cells(3 + LigSource, ColSource).Value: .Cells(3 + LigSource, 126 + ColSource) = .Cells(3 + LigSource, ColSource).Value 'nom
        .Cells(3 + LigSource, 133 + ColSource) = .Cells(3 + LigSource, ColSource).Value
'Fin AM
        .Cells(4 + LigSource, 7 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 14 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 21 + ColSource) = .Cells(4 + LigSource, ColSource).Value 'nom
        .Cells(4 + LigSource, 28 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 35 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 42 + ColSource) = .Cells(4 + LigSource, ColSource).Value 'nom
        .Cells(4 + LigSource, 49 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 56 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 63 + ColSource) = .Cells(4 + LigSource, ColSource).Value 'nom
        .Cells(4 + LigSource, 70 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 77 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 84 + ColSource) = .Cells(4 + LigSource, ColSource).Value 'nom
        .Cells(4 + LigSource, 91 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 98 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 105 + ColSource) = .Cells(4 + LigSource, ColSource).Value 'nom
        .Cells(4 + LigSource, 112 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 119 + ColSource) = .Cells(4 + LigSource, ColSource).Value: .Cells(4 + LigSource, 126 + ColSource) = .Cells(4 + LigSource, ColSource).Value 'nom
        .Cells(4 + LigSource, 133 + ColSource) = .Cells(4 + LigSource, ColSource).Value
'Absence PM
        .Cells(5 + LigSource, 7 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 14 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 21 + ColSource) = .Cells(5 + LigSource, ColSource).Value 'nom
        .Cells(5 + LigSource, 28 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 35 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 42 + ColSource) = .Cells(5 + LigSource, ColSource).Value 'nom
        .Cells(5 + LigSource, 49 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 56 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 63 + ColSource) = .Cells(5 + LigSource, ColSource).Value 'nom
        .Cells(5 + LigSource, 70 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 77 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 84 + ColSource) = .Cells(5 + LigSource, ColSource).Value 'nom
        .Cells(5 + LigSource, 91 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 98 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 105 + ColSource) = .Cells(5 + LigSource, ColSource).Value 'nom
        .Cells(5 + LigSource, 112 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 119 + ColSource) = .Cells(5 + LigSource, ColSource).Value: .Cells(5 + LigSource, 126 + ColSource) = .Cells(5 + LigSource, ColSource).Value 'nom
        .Cells(5 + LigSource, 133 + ColSource) = .Cells(5 + LigSource, ColSource).Value
'Début PM
        .Cells(6 + LigSource, 7 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 14 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 21 + ColSource) = .Cells(6 + LigSource, ColSource).Value 'nom
        .Cells(6 + LigSource, 28 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 35 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 42 + ColSource) = .Cells(6 + LigSource, ColSource).Value 'nom
        .Cells(6 + LigSource, 49 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 56 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 63 + ColSource) = .Cells(6 + LigSource, ColSource).Value 'nom
        .Cells(6 + LigSource, 70 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 77 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 84 + ColSource) = .Cells(6 + LigSource, ColSource).Value 'nom
        .Cells(6 + LigSource, 91 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 98 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 105 + ColSource) = .Cells(6 + LigSource, ColSource).Value 'nom
        .Cells(6 + LigSource, 112 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 119 + ColSource) = .Cells(6 + LigSource, ColSource).Value: .Cells(6 + LigSource, 126 + ColSource) = .Cells(6 + LigSource, ColSource).Value 'nom
        .Cells(6 + LigSource, 133 + ColSource) = .Cells(6 + LigSource, ColSource).Value
'Fin PM
        .Cells(7 + LigSource, 7 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 14 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 21 + ColSource) = .Cells(7 + LigSource, ColSource).Value 'nom
        .Cells(7 + LigSource, 28 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 35 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 42 + ColSource) = .Cells(7 + LigSource, ColSource).Value 'nom
        .Cells(7 + LigSource, 49 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 56 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 63 + ColSource) = .Cells(7 + LigSource, ColSource).Value 'nom
        .Cells(7 + LigSource, 70 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 77 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 84 + ColSource) = .Cells(7 + LigSource, ColSource).Value 'nom
        .Cells(7 + LigSource, 91 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 98 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 105 + ColSource) = .Cells(7 + LigSource, ColSource).Value 'nom
        .Cells(7 + LigSource, 112 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 119 + ColSource) = .Cells(7 + LigSource, ColSource).Value: .Cells(7 + LigSource, 126 + ColSource) = .Cells(7 + LigSource, ColSource).Value 'nom
        .Cells(7 + LigSource, 133 + ColSource) = .Cells(7 + LigSource, ColSource).Value
End With
End Sub
Sub DupliquerPlanningFixe()
'
Dim c As Range
Dim RangDuJour As Integer
Set c = Sheets("archives").Range("3:98").Find(what:=UsfEffectif.TxtNom.Value, lookat:=xlWhole) 'UsfEffectif.TxtNom.Value

If Not c Is Nothing Then
Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
            For RangDuJour = 1 To 6
                DupliquerPlanningFix RangDuJour
            Next RangDuJour
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
Else
'MsgBox "La saisie du Planning peut-être anticipée au maximum 6 mois après la date d'aujourd'hui, Merci!!!"
End If
End Sub

Et comme tu as toujours des idées géniales, je me permets de te demander si tu as une idée pour accélérer celui-ci, quand tu auras un peu de temps bien sur (j'imagine que là tu es au boulot)
Merci et bonne journée
Eric
 

Pièces jointes

  • Planning Type test Efface.xlsm
    262.1 KB · Affichages: 2

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
question à Eric
Tu as dans ta Procédure :
Code:
With Sheets("Archives")
puis
VB:
  .Cells(LigSource, 7 + ColSource) = .Cells(LigSource, ColSource).Value
Qu'est sensé retourner sur cette Ligne ?
Code:
.Cells(LigSource, ColSource).Value
merci par avance
Tu peux déjà pour éviter de Boucler sur toutes les Lignes de la Colonne "B" de la feuille "Archives" mettre un Exit For lorsque le Nom est trouvé.
On peut simplifier ainsi .
Dim Cel sA Range
Code:
For Each Cel In Range("3:98")
If Cel.value = UsfEffectif.TxtNom.Value Then  'UsfEffectif.TxtNom.Value
ligne = Cel.Row 'pour renvoyer le numéro de ligne
Rows(ligne).Select 'activer la igne retrouvée
Exit For '<-------  Ici
End If
Next
Quel est le but de cette procédure ?(DupliquerPlanningFix)
Bonne fin de Journée
Jean marie
 
Dernière édition:

eric72

XLDnaute Accro
Bonjour le Fil
question à Eric
Tu as dans ta Procédure :
Code:
With Sheets("Archives")
puis
VB:
  .Cells(LigSource, 7 + ColSource) = .Cells(LigSource, ColSource).Value
Qu'est sensé retourner sur cette Ligne ?
Code:
.Cells(LigSource, ColSource).Value
merci par avance
Tu peux déjà pour éviter de Boucler sur toutes les Lignes de la Colonne "B" de la feuille "Archives" mettre un Exit For lorsque le Nom est trouvé.
On peut simplifier ainsi .
Dim Cel sA Range
Code:
For Each Cel In Range("3:98")
If Cel.value = UsfEffectif.TxtNom.Value Then  'UsfEffectif.TxtNom.Value
ligne = Cel.Row 'pour renvoyer le numéro de ligne
Rows(ligne).Select 'activer la igne retrouvée
Exit For '<-------  Ici
End If
Next
Bonne fin de Journée
Jean marie
Bonjour Jean-Marie,
Tout d'abord merci d'avoir pris le temps de regarder à mon problème, je vais tenter de t'expliquer:
- Pour chaque nouvel équipier nous pouvons choisir si son planning sera fixe ou tournant à l'aide de l'Usf USFEFFECTIF, si c'est fixe la semaine type choisie doit être reportée dans l'onglet "Archives" à partir de la date choisie et cela pour toute les semaines jusqu'à son départ éventuel
Je vais étudier ton code et le tester.
Merci beaucoup
Eric
 

eric72

XLDnaute Accro
Bonjour le Fil
question à Eric
Tu as dans ta Procédure :
Code:
With Sheets("Archives")
puis
VB:
  .Cells(LigSource, 7 + ColSource) = .Cells(LigSource, ColSource).Value
Qu'est sensé retourner sur cette Ligne ?
Code:
.Cells(LigSource, ColSource).Value
merci par avance
Tu peux déjà pour éviter de Boucler sur toutes les Lignes de la Colonne "B" de la feuille "Archives" mettre un Exit For lorsque le Nom est trouvé.
On peut simplifier ainsi .
Dim Cel sA Range
Code:
For Each Cel In Range("3:98")
If Cel.value = UsfEffectif.TxtNom.Value Then  'UsfEffectif.TxtNom.Value
ligne = Cel.Row 'pour renvoyer le numéro de ligne
Rows(ligne).Select 'activer la igne retrouvée
Exit For '<-------  Ici
End If
Next
Bonne fin de Journée
Jean marie
Je viens de tester ton code, en effet c'est beaucoup plus rapide, SUPER!!!
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 326
Membres
103 180
dernier inscrit
Vcr