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 remplissage feuille à partir d'une autre pour optimiser [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Par défaut Macro remplissage feuille à partir d'une autre pour optimiser
    Bonjour,
    J'ai au point une macro qui permet remplir une feuille en fonction de certaines valeurs et paramètres dans une autre feuille. Elle fonctionne mais la manière dont elle est rédigée disons n'est pas très efficace (^_^)' . En effet si j'ai disons des centaines de données à traiter je sens que ça se transformera en un programme interminable. Pouvez-vous m'aider à le rendre plus compact (optimiser) ? J'ai essayé de passer par des tableaux ou par la fonction "With" mais je me perds entre temps ou alors le programme ne fonctionne plus.
    Je vous mets en annexe le code du programme en question.
    PS: Le programme fonctionne, il fait le travail mais je souhaite l'optimiser car il ne fait pas très "normalisé"
    Merci d'avance pour votre aide.

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    Sub PourOptimiser()
        'BIA
        Worksheets("Sortie").Range("B2:K4").Value = 9999
        ligne = 2
        For i = 1 To 2
            For j = 1 To 4
                Worksheets("D - BI").Range("X33").Value = i
                Worksheets("D - BI").Range("X34").Value = j
                If _
                Worksheets("D - BI").Range("Y33").Value >= -0.5 And _
                Worksheets("D - BI").Range("Y33").Value <= 0.5 And _
                Worksheets("D - BI").Range("Y34").Value >= -1# And _
                Worksheets("D - BI").Range("Y34").Value <= 1# _
                Then
                    'On ne fait rien
                Else
                    'BK
                    If Worksheets("Resume").Range("E65").Value < Worksheets("Sortie").Cells(ligne, 2).Value Then
                        Worksheets("Sortie").Cells(ligne, 2).Value = Worksheets("Resume").Range("E65").Value
                        Worksheets("Sortie").Cells(ligne, 3).Value = Worksheets("Resume").Range("F65").Value
                        Worksheets("Sortie").Cells(ligne, 4).Value = i
                        Worksheets("Sortie").Cells(ligne, 5).Value = j
                        Worksheets("Sortie").Cells(ligne, 6).Value = Worksheets("T_C").Range("D22").Value
                        Worksheets("Sortie").Cells(ligne, 7).Value = Worksheets("T_C").Range("E22").Value
                        Worksheets("Sortie").Cells(ligne, 8).Value = Worksheets("T_C").Range("F22").Value
                        Worksheets("Sortie").Cells(ligne, 9).Value = Worksheets("T_C").Range("G22").Value
                        Worksheets("Sortie").Cells(ligne, 10).Value = Worksheets("T_C").Range("H22").Value
                        Worksheets("Sortie").Cells(ligne, 11).Value = Worksheets("T_C").Range("I22").Value
                        Worksheets("Sortie").Cells(ligne, 12).Value = Worksheets("BIA - S").Range("B42").Value
                        Worksheets("Sortie").Cells(ligne, 13).Value = Worksheets("BIA - S").Range("B44").Value
                        Worksheets("Sortie").Cells(ligne, 14).Value = Worksheets("BIA - S").Range("B43").Value
                        Worksheets("Sortie").Cells(ligne, 15).Value = Worksheets("BIA - S").Range("C42").Value
                        Worksheets("Sortie").Cells(ligne, 16).Value = Worksheets("BIA - S").Range("C44").Value
                        Worksheets("Sortie").Cells(ligne, 17).Value = Worksheets("BIA - S").Range("C43").Value
                    End If
                    'BL
                    If Worksheets("Resume").Range("E66").Value < Worksheets("Sortie").Cells(ligne + 1, 2).Value Then
                        Worksheets("Sortie").Cells(ligne + 1, 2).Value = Worksheets("Resume").Range("E66").Value
                        Worksheets("Sortie").Cells(ligne + 1, 3).Value = Worksheets("Resume").Range("F66").Value
                        Worksheets("Sortie").Cells(ligne + 1, 4).Value = i
                        Worksheets("Sortie").Cells(ligne + 1, 5).Value = j
                        Worksheets("Sortie").Cells(ligne + 1, 6).Value = Worksheets("T_C").Range("D23").Value
                        Worksheets("Sortie").Cells(ligne + 1, 7).Value = Worksheets("T_C").Range("E23").Value
                        Worksheets("Sortie").Cells(ligne + 1, 8).Value = Worksheets("T_C").Range("F23").Value
                        Worksheets("Sortie").Cells(ligne + 1, 9).Value = Worksheets("T_C").Range("G23").Value
                        Worksheets("Sortie").Cells(ligne + 1, 10).Value = Worksheets("T_C").Range("H23").Value
                        Worksheets("Sortie").Cells(ligne + 1, 11).Value = Worksheets("T_C").Range("I23").Value
                        Worksheets("Sortie").Cells(ligne + 1, 12).Value = Worksheets("BIA - S").Range("D42").Value
                        Worksheets("Sortie").Cells(ligne + 1, 13).Value = Worksheets("BIA - S").Range("D44").Value
                        Worksheets("Sortie").Cells(ligne + 1, 14).Value = Worksheets("BIA - S").Range("D43").Value
                        Worksheets("Sortie").Cells(ligne + 1, 15).Value = Worksheets("BIA - S").Range("E42").Value
                        Worksheets("Sortie").Cells(ligne + 1, 16).Value = Worksheets("BIA - S").Range("E44").Value
                        Worksheets("Sortie").Cells(ligne + 1, 17).Value = Worksheets("BIA - S").Range("E43").Value
                    End If
                    'BM
                    If Worksheets("Resume").Range("E67").Value < Worksheets("Sortie").Cells(ligne + 2, 2).Value Then
                        Worksheets("Sortie").Cells(ligne + 2, 2).Value = Worksheets("Resume").Range("E67").Value
                        Worksheets("Sortie").Cells(ligne + 2, 3).Value = Worksheets("Resume").Range("F67").Value
                        Worksheets("Sortie").Cells(ligne + 2, 4).Value = i
                        Worksheets("Sortie").Cells(ligne + 2, 5).Value = j
                        Worksheets("Sortie").Cells(ligne + 2, 6).Value = Worksheets("T_C").Range("D24").Value
                        Worksheets("Sortie").Cells(ligne + 2, 7).Value = Worksheets("T_C").Range("E24").Value
                        Worksheets("Sortie").Cells(ligne + 2, 8).Value = Worksheets("T_C").Range("F24").Value
                        Worksheets("Sortie").Cells(ligne + 2, 9).Value = Worksheets("T_C").Range("G24").Value
                        Worksheets("Sortie").Cells(ligne + 2, 10).Value = Worksheets("T_C").Range("H24").Value
                        Worksheets("Sortie").Cells(ligne + 2, 11).Value = Worksheets("T_C").Range("I24").Value
                        Worksheets("Sortie").Cells(ligne + 2, 12).Value = Worksheets("BIA - S").Range("F42").Value
                        Worksheets("Sortie").Cells(ligne + 2, 13).Value = Worksheets("BIA - S").Range("F44").Value
                        Worksheets("Sortie").Cells(ligne + 2, 14).Value = Worksheets("BIA - S").Range("F43").Value
                        Worksheets("Sortie").Cells(ligne + 2, 15).Value = Worksheets("BIA - S").Range("G42").Value
                        Worksheets("Sortie").Cells(ligne + 2, 16).Value = Worksheets("BIA - S").Range("G44").Value
                        Worksheets("Sortie").Cells(ligne + 2, 17).Value = Worksheets("BIA - S").Range("G43").Value
                    End If
                End If
            Next
        Next
     
    End Sub

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Par défaut Problème résolu
    C'est bon finalement, le problème a été résolu .
    Du coup, merci quand-même pour ceux qui ont lu et ont essayé de s'y pencher (ou peut-être sont entrain d'y réfléchir).
    Bonne fin de journée à vous.

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

Discussions similaires

  1. [XL-2007] Ouverture /macro/ fermeture d'une feuille à partir d'une autre..
    Par ericmicro dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/03/2014, 12h11
  2. [AC-2000] remplissage auto à partir d'une autre table
    Par guillaume11 dans le forum Access
    Réponses: 0
    Dernier message: 15/09/2010, 08h18
  3. [E-00] tri des données d'une feuille à partir d'une autre feuille
    Par gueguen dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/02/2009, 11h50
  4. Réponses: 2
    Dernier message: 08/04/2008, 18h47
  5. affichage dans cellule d'une feuille à partir d'une autre ?
    Par estivals34300 dans le forum Excel
    Réponses: 2
    Dernier message: 01/11/2007, 00h33

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