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 :

problème de macro


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2021
    Messages : 4
    Par défaut problème de macro
    Bonjour,
    j'ai un problème sur un programme.
    Quand j'execute une macro, ça me met n'importe quoi.
    Une amie, qui a regardé le programme, m'a dit qu'il était peut être trop lourd !
    Il fait 5882 Ko
    Cela peut il être la raison ?
    Merci pour vos réponses

  2. #2
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Bonjour

    Sans ton code et un fichier exemple on ne pourra pas t'aider.
    La taille d'un fichier joue éventuellement sur le temps d'exécution le temps de traiter toutes les données mais pas perturber l'affichage.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2021
    Messages : 4
    Par défaut
    Bonjour,
    je joins 2 exemples, un fait avec une macro et l'autre fait que par collage
    Code ?
    Cordialement
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 440
    Par défaut
    Bonjour,

    Personnellement je ne comprends pas où sont les données. Ce qui se trouve dans l'onglet "Collage" n'est pas le même dans les 2 fichiers. Et pourquoi 621 colonnes (avec 12 fois les mêmes titres de colonnes). Comment sont-elles obtenues? Ce que la macro est sensé faire est produire le planning d'une semaine particulière ?

    Cordialement.

    P.S. Si vous supprimez les lignes 1 et 2 de la feuille "Collage" avant de lancer la macro, le "résultat" est-il correct ?

  5. #5
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    D'accord. De façon générale je comprends que le but est la gestion de planning de bénévoles et de salariés. Chacun d'entre eux peut être affecté à plusieurs postes ("en", "bo", "ch", "ench", ...) mais chacun occupe un seul poste par jour.

    La feuille "Collage" représente les données (lignes = dates et colonnes = personnes) --> pourquoi x colonnes pour une même personne ?
    La feuille "Planning" représente les données (lignes = dates et colonnes = personnes)
    La feuille "RESULTAT" représente les données (lignes = dates et colonnes = personnes) sur une fourchette de dates uniquement à partir de "Planning"

    En fait, j'ai l'impression que la feuille "collage" te sers de feuille d'import temporaire pour ensuite reporter les données dans "planning". Si c'est ça alors cette feuille est inutile et surtout mal construite. Tu peux directement construire "planning".

    Correct ?

    Donc si je comprends ton but est de construire "Planning" qui reprend toutes les données d'occupation de poste pour chacun par date et de construire la feuille "RESULTAT" qui reprend "Planning" mais sur une fourchette de dates uniquement.

    Est-ce bien cela ?

    Peux-tu nous dire précisément:
    - ce que tu as en entrée de ton besoin (les données, les fichiers externes éventuels, ...) ?
    - ce que tu cherches à obtenir ?

    Pour schématiser on a besoin de savoir où prendre quelles données, quels traitements faire dessus et où reporter les traitements effectués.

    Pour info 1; les fichiers transmis ne contiennent pas le code affecté au bouton "Planning" car tu as mis des fichiers "xlsx".
    Pour info 2; tu as 2 boutons "Planning" l'un sur l'autre

  6. #6
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2021
    Messages : 4
    Par défaut
    bonsoir
    merci pour vos remarques.
    J'ai fait une copie de mon programme en l'allégeant un max afin de pouvoir le mettre ici, je n'ai gardé que 2 semaines et je n'ai pas mis les feuilles CP et du cumul mensuel des heures.
    Entre les salariés et les benevoles, il n'y a jamais de quoi remplir plus d'une vingtaine de colonnes. Si je gardais toutes les colonnes, il faudrait au moins 2 feuilles.
    Voici comment je fais ma macro
    je sélectionne les 7 lignes d'une semaine, puis je commence la macro, copie collage sur feuille collage en A3, puis copie de la ligne B3 de la feuille de saisie et collage sur feuille collage en A2, la feuille de planning trie les colonnes remplis et je colle ce résultat sur la feuille resultat, puis imprimer.
    Manuellement, ça fonctionne, en macro, non.
    Je ne suis pas informaticien (donc il y a des termes que je ne comprends pas trés bien) et j'ai juste "appris sur le tas" et je suis bénévole dans cette association aprés y avoir été salarié.
    Merci si vous pouvez m'aider.
    Fichiers attachés Fichiers attachés

  7. #7
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 440
    Par défaut
    Bonjour,

    Une façon de faire, sans passer par des feuilles intermédiaires:
    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
    Sub Planning()
        Dim wshSemaine As Worksheet, wshSaisie As Worksheet, r As Range, kJour As Long
        Dim kR As Long, kC1 As Long, kC2 As Long
        '---
        If Not IsDate(Cells(ActiveCell.Row, 1)) Then
            MsgBox "Activer une cellule sur une ligne contenant une date en colonne A", , "Annulé"
            Exit Sub
        End If
        '---
        Application.ScreenUpdating = False
        Set wshSaisie = Worksheets("SAISIE")
        Set wshSemaine = Worksheets("PlanSemaine")
        wshSemaine.Range("A2:AC9").ClearContents
        wshSaisie.Select
        kJour = Weekday(Cells(ActiveCell.Row, 1), vbMonday) - 1     '--- 0 = lundi, 1 = mardi , ... 6 = dimanche
        Set r = Cells(ActiveCell.Row - kJour, 1)                    '--- va sur le 1er jour de la semaine (lundi)
        With wshSemaine
            .Range("A1") = "   SEMAINE  DU   " & Format(r, "dd/mm/yyyy") & "   AU   " & Format(r.Offset(6, 0), "dd/mm/yyyy")
            Range(r, r.Offset(6, 0)).Copy
            .Range("A3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            kC2 = 1
            For kC1 = 5 To 54
                If WorksheetFunction.CountA(Range(r.Offset(0, kC1), r.Offset(6, kC1))) > 0 Then
                    kC2 = kC2 + 1
                    Cells(3, kC1 + 1).Copy
                    .Cells(2, kC2).PasteSpecial Paste:=xlPasteValues
                    Range(r.Offset(0, kC1), r.Offset(6, kC1)).Copy
                    .Cells(3, kC2).PasteSpecial Paste:=xlPasteValues
                End If
            Next kC1
            .Select
            Range("A1").Select
        End With
        Application.CutCopyMode = False
        Set r = Nothing
        Set wshSaisie = Nothing
        Set wshSemaine = Nothing
        Application.ScreenUpdating = True
    End Sub
    Cordialement.
    Fichiers attachés Fichiers attachés

  8. #8
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2021
    Messages : 4
    Par défaut problème de macro
    Bonjour,
    j'ai essayé
    Merci et bonne journée

Discussions similaires

  1. Problème de macro
    Par Zorko dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/05/2007, 18h15
  2. [Macro] problème de macro
    Par pouii dans le forum IHM
    Réponses: 2
    Dernier message: 02/05/2007, 13h58
  3. [VBA]Problème de macro et de dimension.
    Par Invité dans le forum Général VBA
    Réponses: 2
    Dernier message: 26/04/2007, 11h50
  4. Problème sur macro (2 exécutions de code)
    Par Tsuna78 dans le forum Access
    Réponses: 2
    Dernier message: 19/03/2007, 20h24
  5. [VBA-E] Problème activation macro
    Par kamshaa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/02/2007, 17h02

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