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 :

Passer des valeurs d'un classeur à un autre


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club Avatar de Glorian
    Homme Profil pro
    Travailleur de la santé
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Travailleur de la santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Par défaut Passer des valeurs d'un classeur à un autre
    Bonjour,

    Je viens à vous parce que je me trouve dans une jolie impasse.
    C'est un budget (de plus en plus étoffé) et il passe des valeurs d'un tableau à un autre.

    Puisqu'il devient de plus en plus complexe de naviguer au travers des tableaux de chaque feuille, j'aimerais les scinder en plusieurs tableaux.

    Plus clairement, par exemple, au lieu de passer des valeurs du compte chèque à "Visa Desjardins" dans la même feuille "Janvier", je voudrais créer un nouveau classeur appelé Visa.xlsx.
    Ensuite, je passerais les valeurs, encore en exemple, la feuille "Janvier" du tableau "Compte chèque" (classeur Comptes.xlsm) vers la feuille "Janvier" du tableau "Visa Desjardins" du classeur Visa.xlsx.

    Mais, je n'arrive pas à passer les valeurs d'un classeur à un autre.

    Le VBA est le suivant

    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
    79
    80
    81
    82
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim chqLR As Long, savLR As Long, celLR As Long, visLR As Long, MCrdLR As Long
           
    
    If Target.Row < 6 Or Target.Row > 102 Then Exit Sub
    If Target.Column <> 5 And Target.Column <> 9 And Target.Column <> 19 And Target.Column <> 23 And Target.Column <> 33 And Target.Column <> 37 And Target.Column <> 47 And Target.Column <> 51 And Target.Column <> 61 And Target.Column <> 66 And Target.Column <> 67 And Target.Column <> 69 Then Exit Sub
    
    Application.EnableEvents = False
    
    chqLR = Range("C" & 102).End(xlUp).Row
    savLR = Range("Q" & 102).End(xlUp).Row
    celLR = Range("AE" & 102).End(xlUp).Row
    visLR = Range("AS" & 102).End(xlUp).Row
    MCrdLR = Range("BQ" & 102).End(xlUp).Row
        
    If Target.Column = 5 Or Target.Column = 9 Then
        If UCase(Range("E" & Target.Row)) = UCase("Op. Ep.") _
           And Range("I" & Target.Row) <> "" Then
                Range("Q" & savLR + 1) = Range("C" & Target.Row)
                Range("U" & savLR + 1) = Range("G" & Target.Row)
                Range("Y" & savLR + 1) = Range("I" & Target.Row)
        End If
    End If
    
    If Target.Column = 19 Or Target.Column = 23 Then
        If UCase(Range("S" & Target.Row)) = UCase("Vir. Ep. => Ch.") _
           And Range("W" & Target.Row) <> "" Then
                Range("C" & chqLR + 1) = Range("Q" & Target.Row)
                Range("G" & chqLR + 1) = Range("U" & Target.Row)
                Range("K" & chqLR + 1) = Range("W" & Target.Row)
        End If
    End If
    
    If Target.Column = 5 Or Target.Column = 9 Then
        If UCase(Range("E" & Target.Row)) = UCase("Vir. Ch. => Céli") _
           And Range("I" & Target.Row) <> "" Then
                Range("AE" & celLR + 1) = Range("C" & Target.Row)
                Range("AI" & celLR + 1) = Range("G" & Target.Row)
                Range("AM" & celLR + 1) = Range("I" & Target.Row)
        End If
    End If
    
    If Target.Column = 33 Or Target.Column = 37 Then
        If UCase(Range("AG" & Target.Row)) = UCase("Vir. Céli => Ch.") _
           And Range("AK" & Target.Row) <> "" Then
                Range("C" & chqLR + 1) = Range("AE" & Target.Row)
                Range("G" & chqLR + 1) = Range("AI" & Target.Row)
                Range("K" & chqLR + 1) = Range("AK" & Target.Row)
        End If
    End If
    
    If Target.Column = 19 Or Target.Column = 23 Then
        If UCase(Range("S" & Target.Row)) = UCase("Vir. Ep. => Céli") _
           And Range("W" & Target.Row) <> "" Then
                Range("AE" & celLR + 1) = Range("Q" & Target.Row)
                Range("AI" & celLR + 1) = Range("U" & Target.Row)
                Range("AM" & celLR + 1) = Range("W" & Target.Row)
        End If
    End If
    
    If Target.Column = 5 Or Target.Column = 9 Then
        If UCase(Range("E" & Target.Row)) = UCase("Visa") _
           And Range("I" & Target.Row) <> "" Then
                Workbook("Visa.xlsx").Worksheets(1).Range("C" & visLR + 1) = Range("C" & Target.Row)
                Workbook("Visa.xlsx").Worksheets(1).Range("G" & visLR + 1) = Range("G" & Target.Row)
                Workbook("Visa.xlsx").Worksheets(1).Range("K" & visLR + 1) = Range("I" & Target.Row)
        End If
    End If
    
    If Target.Column = 7 Or Target.Column = 9 Then
        If UCase(Range("G" & Target.Row)) = UCase("Paiement MasterCard") _
           And Range("I" & Target.Row) <> "" Then
                Range("BC" & MCrdLR + 1) = Range("C" & Target.Row)
                Range("BG" & MCrdLR + 1) = Range("G" & Target.Row)
                Range("BK" & MCrdLR + 1) = Range("I" & Target.Row)
        End If
    End If
    
    
    Application.EnableEvents = True
    End Sub
    Pourriez-vous m'aider à trouver une solution, s.v.p.

    Merci à l'avance,

    Camaalot
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/08/2016, 20h11
  2. Réponses: 1
    Dernier message: 05/01/2014, 19h13
  3. problème à passer des valeurs d'une form à l'autre
    Par gibea00 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/08/2007, 13h45
  4. passer des valeurs d'une page à l'autre
    Par casaoui dans le forum ASP.NET
    Réponses: 8
    Dernier message: 13/06/2007, 17h55
  5. Réponses: 1
    Dernier message: 25/09/2005, 20h03

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