Excel ; besoin d'aide pour effectuer une macro

Résolu
laerouss Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
laerouss Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
bonjour tout le monde

j'ai besoin d'aide pour finaliser mon tableau avec un calendrier automatique dedans. l'idée est avec la macro de pouvoir faire en sorte que les colonnes de fin de mois se suppriment automatique. Mon tableau est basé sur 31 jours par mois mais selon les mois, certains sont à 29 et d'autres à 30. J'aimerais donc que la macro serve a supprimer automatiquement ces colonnes supplémentaires sur les mois concernés. J'ai effectué ce tableau à l'aide d'un tuto vidéo sur youtube mais impossible de comprendre la macro. Vraiment beaucoup trop complexe. j'ai pourtant tout essayer pendant 5h hier mais en vain. merci pour votre aide

4 réponses

  1. M-12 Messages postés 1349 Statut Membre 285
     
    Bonjour,

    Un p’tit classeur anonymisé serait mieux pour régler le soucis

    Allez dans https://www.cjoint.com/
    Cliquez sur "PARCOURIR" pour sélectionner le classeur
    Clic le bouton "CREER LE LIEN"
    Clic droit quand le lien est créé "COPIER LE LIEN"
    Sur le post Clic droit "Coller".
    0
    1. laerouss Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      bonjour
      voici le tableau https://www.cjoint.com/c/LAAiyHrHZaK

      le code macro conseillé dans le tuto est celui là
      Sub Masquer_Jour()
      Dim Num_Col As Long
      For Num_Col = 30 To 32 ' Boucle sur les cellules des jours 29, 30 et 31
      If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
      Columns(Num_Col).Hidden = True
      Else
      Columns(Num_Col).Hidden = False
      End If
      Next
      Range("B6:AF13").ClearContents 'Supprime le contenu dans les cellules
      End Sub
      0
  2. laerouss Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     
    Ci joint mon tableau

    https://www.cjoint.com/c/LAAiyHrHZaK

    le code de la macro conseillé dans la vidéo est ici, mais impossible de le comprendre et de modifier selon mon tableau
    Sub Masquer_Jour()
    Dim Num_Col As Long
    For Num_Col = 30 To 32 ' Boucle sur les cellules des jours 29, 30 et 31
    If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next
    Range("B6:AF13").ClearContents 'Supprime le contenu dans les cellules
    End Sub
    0
  3. M-12 Messages postés 1349 Statut Membre 285
     
    Re,
    A tester avec la macro modifiée
    le fait de changer le mois ou l'année la ou les colonnes concernées se masquent ou s'affichent
    https://www.cjoint.com/c/LAAjlhqsXzv
    0
    1. laerouss Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      merci
      du coup je dois recopier votre macro sur mon tableau original? car sur le tableau que vous m'avez adressé mes éléments fixes comme le nom des stagiaires et leur dates ont disparu...
      en fait sur votre tableau mon problème de colonne est en effet résolu mais mes données disparaissent d'un mois sur l'autre...
      0
      1. laerouss Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   > laerouss Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
         
        je crois avoir trouvé la solution en supprimant du code macro 'Supprime le contenu dans les cellules'
        0
  4. M-12 Messages postés 1349 Statut Membre 285
     
    Re,
    Sans savoir au départ, et avec une macro lachée sans correspondance avec le fichier, faut être un devin

    dans le Module 1 (macro)
    supprimer cette ligne sur les deux macros
     Range("C7:G42").ClearContents 'Supprime le contenu dans les cellules
    0
    1. laerouss Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      c'est parfait un immense merci
      maintenant je vais essayer de comprendre le codage
      excellente fin de journée
      0