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 :

Macro pour planning


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Décembre 2013
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 1
    Par défaut Macro pour planning
    Bonjour à tous,

    J'ai créé un planning et il y a deux mois j'ai eu de l'aide pour créer une macro pour le mettre à jour. Le problème c'est que la macro met à jour les commandes mais pas les temps passés et totaux.
    J'aimerais que la fonction mise à jour continue de mettre à jour les of (donc supprime les lignes qui ne sont plus dans le deuxième classeur appelé test2 et ajoute les nouveaux). Mais j'aimerais surtout que la macro mette à jour aussi les temps.
    http://xls.lu/Sn9W
    J'aurais besoin d'aide et qu'on m'explique car j'aimerais vraiment comprendre.

    Merci

  2. #2
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    Pour comprendre, c'est plus facile en visualisant ce qui se passe sur les feuilles. C'est pourquoi je mets des commandes Activate et Select durant l'écriture du code. Quand le programme est terminé, je les supprime.

    Pour accéder facilement aux feuilles durant un arrêt dans l'exécution du code,
    utilise UserForm1.Show vbModeless

    Cordialement

    Docmarti


    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
    50
    51
    52
    53
    54
    55
    Sub Mettreajour()
    '
    ' Mettreajour Macro
    ' Macro enregistrée le 13/09/2013 par Administrateur
    '
    Application.ScreenUpdating = False
    Set orig = ThisWorkbook.Sheets("test2")
    Set dest = ThisWorkbook.Sheets("PLANNING")
    Dim i As Long
    Dim c As Object
        i = 2
        NouvelleLigne = 6
        While dest.Range("B" & NouvelleLigne).Value <> 0
                NouvelleLigne = NouvelleLigne + 1
        Wend
        While orig.Range("B" & i).Value <> 0
          What = orig.Range("B" & i).Value
            Set c = dest.Range("B1:B" & NouvelleLigne).Find(What:=What, LookIn:=xlFormulas, LookAt:=xlWhole, SearchFormat:=False, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
     
            If c Is Nothing Then
                dest.Activate
                dest.Range("A" & NouvelleLigne).Select
     
                orig.Range("A" & i & ":H" & i).Copy dest.Range("A" & NouvelleLigne)
     
                Application.CutCopyMode = False
                NouvelleLigne = NouvelleLigne + 1
             Else
             AncienneLigne = c.Row
              orig.Range("A" & i & ":H" & i).Copy dest.Range("A" & AncienneLigne)
     
     
            End If
            i = i + 1
        Wend
     
    'vérification qu'il n'y pas de valeur dans planning présente et non dans teste2
        i = 2
        AncienneLigne = 6
        While orig.Range("B" & i).Value <> 0
                i = i + 1
        Wend
        While dest.Range("B" & AncienneLigne).Value <> 0
         What = dest.Range("B" & AncienneLigne).Value
            Set c = orig.Range("B1:B" & i).Find(What:=What, LookIn:=xlFormulas, LookAt:=xlWhole, SearchFormat:=False, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
     
            If c Is Nothing Then
                dest.Rows(AncienneLigne).Select
                dest.Rows(AncienneLigne).Delete Shift:=xlUp
            Else
                AncienneLigne = AncienneLigne + 1
            End If
        Wend
     
    End Sub

Discussions similaires

  1. Réponses: 58
    Dernier message: 27/04/2015, 14h09
  2. Macro pour évolution planning d'une année à l'autre
    Par ilissnmiden92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/12/2014, 14h32
  3. [XL-2007] Conseil macro pour la création d'un planning
    Par Nico67800 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/06/2012, 19h12
  4. [XL-2003] Macro pour generer un planning
    Par djoumusic dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/12/2009, 20h38
  5. [XL-2003] Pb de création de macro pour générer un plan Excel par macro
    Par EAGLES08 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/10/2009, 10h47

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