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 fusion de macro [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    Août 2019
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : Août 2019
    Messages : 104
    Par défaut Problème de fusion de macro
    Bonjour,

    Voici mon problème. J'ai deux macros qui fonctionne lorsqu'elles sont séparées. Mais quand je les fusionne, elles créer un conflit et la fonction if ne fonctionne plus.

    1er code choisi une macro d'impression en fonction des cellule D8 des feuilles Route 10-A et Route 10-B. Elle fonctionne parfaitement.

    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
    Option Compare Text
    Sub Selection_Semaine()
     
        Dim Route10A As String, Route10B As String
     
        Route10A = Sheets("Route 10-A").Range("D8")
     
        Route10B = Sheets("Route 10-B").Range("D8")
     
        If Route10A = Route10B Then
     
        ImprimerRoute10Semaine
     
        Else
     
        Imprimer_Semaine
     
        End If
     
    End Sub
    2e Code, Change les dates des feuilles de semaine afin qu’elles indiquent les informations du lundi suivant, imprime les feuilles de fin de semaine et du lundi puis remet la configuration "normal" du classeur. Encore cette macro fonctionne parfaitement.
    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
    Sub Imprimer_Weekend()
    '
    ' Imprimer_Weekend Macro
    '
     Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 semaine")).Select
        Sheets("Route 1").Activate
        Range("B8").Select
        ActiveCell.FormulaR1C1 = "=Calcule!R[-6]C[1]"
        Range("B9").Select
        Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 Samedi", _
            "Route 10 Dimanche")).Select
        Sheets("Route 1").Activate
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
        Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 Semaine")).Select
        Sheets("Route 1").Activate
        Range("B8").Select
        ActiveCell.FormulaR1C1 = "=Calcule!R[-6]C[3]"
        Range("B9").Select
        Sheets("Horaire").Select
    End Sub
    Le code fusionné est
    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
    Option Compare Text
    Sub Imprimer_Weekend()
    '
    ' Imprimer_Weekend Macro
    '
        Dim Route10A As String, Route10B As String
     
        Route10A = Sheets("Route 10-A").Range("D8")
     
        Route10B = Sheets("Route 10-B").Range("D8")
     
        Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 semaine")).Select
        Sheets("Route 1").Activate
        Range("B8").Select
        ActiveCell.FormulaR1C1 = "=Calcule!R[-6]C[1]"
        Range("B9").Select
        Application.Wait Time + TimeSerial(0, 0, 5)
     
        If Route10A = Route10B Then
     
      '     Sheets(Array("Route 1", "Route 11", "Route 10 semaine", "Route 10 Samedi", _
      '      "Route 10 Dimanche")).Select
      '  Sheets("Route 1").Activate
      '  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
      '      IgnorePrintAreas:=False
        MsgBox ("pareil")
        Else
     
     '   Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 Samedi", _
     '       "Route 10 Dimanche")).Select
     '   Sheets("Route 1").Activate
     '   ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
     '       IgnorePrintAreas:=False
        MsgBox ("pas pareil")
        End If
     
        Sheets(Array("Route 1", "Route 11", "Route 10-A", "Route 10-B", "Route 10 Semaine")).Select
        Sheets("Route 1").Activate
        Range("B8").Select
        ActiveCell.FormulaR1C1 = "=Calcule!R[-6]C[3]"
        Range("B9").Select
        Sheets("Horaire").Select
    End Sub
    J'ai mis les commandes d'impression en commentaire et mit des message box afin de tester sans gaspiller une tonne de papier. Voici le problème, peu importe le résultat des cellule D8 des feuille Route 10-A et Route 10-B (pareil ou pas pareil), le résultat change en fonction de la date et non des cellules souhaitées. Voyez-vous un problème dans mon code? si oui, le quel? si vous le désiré je peux vous mettre mon fichier en pièce jointe.

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour, Que voulez vous dire exactement par la fonction If ne fonctionne plus. Pourriez vous nous expliquer exactement quelle est la place des lignes 37 à 42 dans la fonction si et d'ailleurs ce que fait exactement votre programme (en ce qui concerne cette partie du code). Je parle d'explications en Français et pas en moitié Français, moitié codage.
    Cordialement

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Est-ce que D8 contient une valeur saisie ou une formule ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    Août 2019
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : Août 2019
    Messages : 104
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Est-ce que D8 contient une valeur saisie ou une formule ?
    La cellule D8 contient une formule de recherche vertical

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Miraie Voir le message
    La cellule D8 contient une formule de recherche vertical
    Pourrais-tu présenter cette formule ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    Août 2019
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : Août 2019
    Messages : 104
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Pourrais-tu présenter cette formule ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(B8;Horaire!A3:F46;5;FAUX)
    pour la feuille Route 10-A
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(B8;Horaire!A3:F46;6;FAUX)
    pour la feuille Route 10-B

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de fusion d'images bmp
    Par Piki dans le forum Langage
    Réponses: 6
    Dernier message: 21/04/2007, 14h32
  2. [Forms]Problème de fusion avec oracle forms 6i
    Par Sabact dans le forum Forms
    Réponses: 2
    Dernier message: 25/10/2006, 07h50
  3. Problème de fusion de ACCESS 9.0 vers WORD 2003
    Par kristal_972 dans le forum Access
    Réponses: 2
    Dernier message: 12/07/2006, 20h16
  4. [VBA-E] Problème de tableau dans macro VBA
    Par Chouls dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/06/2006, 15h20
  5. [VBA-E]Problème d'éxécution de macros à l'ouverture d'éxcel
    Par mulot03 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/04/2006, 18h02

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