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 :

Automatiser la collecte de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Joueur poker pro
    Inscrit en
    Janvier 2022
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Joueur poker pro

    Informations forums :
    Inscription : Janvier 2022
    Messages : 90
    Par défaut Automatiser la collecte de données
    Bonjour,

    Je vais essayer de vous décrire ce que j’essaie de faire malgré mon manque de vocabulaire. J’ai un tableau de traitement de données. J’ai juste à rentrer la donnée à analyser dans les cellules A3 : A30 Ensuite, il y a tout un processus de traitement de données qui s’effectue, et les donner ressort traité dans la dernière ligne du tableau. (T2)

    Ce que j’aimerais faire, c’est sur une feuille annexe crée un tableau (T1) où j’ai juste à copie-coller les donné à analyser (Les données qui iront. Dans la cellule A3 : A30), et ensuite que toutes ses données (Ce de la dernière ligne du tableau ressorte dans un autre tableau (T3)).

    Je résume la procédure :

    On entre les données à analyser en (T1)
    Les donné ressortent traité dans la dernière ligne. (T2)
    Les donné viennent dans un tableau. (T3)
    Donc T3 regrouperaient toutes les dernières lignes des donnés analysés.

    Merci pour votre aide.

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 288
    Par défaut prendre les macros
    Dans un premier temps il faut créer la structure de tableau .
    Après il faut aller dans le menu fichier / file option et regarder pour activer l'onglet développeur sur internet .
    Il faut activer l'enregistreur de macros et la relier à un raccourcis .
    Voilà c'est automatisé.

  3. #3
    Membre confirmé
    Homme Profil pro
    Joueur poker pro
    Inscrit en
    Janvier 2022
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Joueur poker pro

    Informations forums :
    Inscription : Janvier 2022
    Messages : 90
    Par défaut
    Bonjour, mach1974
    merci pour votre aide,
    es ce que vous aurais une vidéo ou un PDF à conseiller sur comment activer l'enregistreur de macros et la relier à un raccourcis
    Mais connaissance en VBA s'arête pour le moment à ce qui à étais enseigner dans cette série de 9 vidéo

  4. #4
    Membre confirmé
    Homme Profil pro
    Joueur poker pro
    Inscrit en
    Janvier 2022
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Joueur poker pro

    Informations forums :
    Inscription : Janvier 2022
    Messages : 90
    Par défaut
    Bonjour,
    J'ai activé l'enregistreur de macro, ou j'ai répété l'action 2 fois, es ce que c'est possible faire répéter l'opération, mais à chaque fois avec + 1 en ligne.

    par exemple la suite du code serai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Range("N7:S7").Select
    ...
    Range("N8:S8").Select
    ...
    Range("N9:S10").Select
    Voci mon code
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    Sub test2()
    '
    ' test2 Macro
    '
     
    '
        Range("N5:S5").Select
        Selection.Copy
        Range("A2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Sheets("Feuil1").Select
        ActiveWindow.SmallScroll Down:=-18
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 1
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 3
        ActiveWindow.ScrollColumn = 4
        ActiveWindow.ScrollColumn = 5
        ActiveWindow.ScrollColumn = 6
        ActiveWindow.ScrollColumn = 7
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 9
        ActiveWindow.ScrollColumn = 10
        ActiveWindow.ScrollColumn = 11
        ActiveWindow.ScrollColumn = 12
        ActiveWindow.ScrollColumn = 13
        ActiveWindow.ScrollColumn = 14
        ActiveWindow.ScrollColumn = 15
        ActiveWindow.ScrollColumn = 16
        ActiveWindow.ScrollColumn = 17
        ActiveWindow.ScrollColumn = 18
        ActiveWindow.ScrollColumn = 19
        ActiveWindow.ScrollColumn = 20
        ActiveWindow.ScrollColumn = 21
        ActiveWindow.ScrollColumn = 22
        ActiveWindow.ScrollColumn = 23
        ActiveWindow.ScrollColumn = 24
        ActiveWindow.ScrollColumn = 25
        ActiveWindow.ScrollColumn = 26
        ActiveWindow.ScrollColumn = 27
        ActiveWindow.ScrollColumn = 28
        Range("AE2:AZ2").Select
        Application.CutCopyMode = False
        Selection.Copy
        ActiveWindow.ScrollColumn = 27
        ActiveWindow.ScrollColumn = 28
        ActiveWindow.ScrollColumn = 29
        ActiveWindow.ScrollColumn = 30
        ActiveWindow.ScrollColumn = 31
        ActiveWindow.ScrollColumn = 32
        ActiveWindow.ScrollColumn = 33
        ActiveWindow.ScrollColumn = 34
        ActiveWindow.ScrollColumn = 35
        ActiveWindow.ScrollColumn = 36
        ActiveWindow.ScrollColumn = 37
        ActiveWindow.ScrollColumn = 38
        ActiveWindow.ScrollColumn = 39
        ActiveWindow.ScrollColumn = 40
        ActiveWindow.ScrollColumn = 41
        ActiveWindow.ScrollColumn = 42
        ActiveWindow.ScrollColumn = 43
        ActiveWindow.ScrollColumn = 44
        ActiveWindow.ScrollColumn = 45
        ActiveWindow.ScrollColumn = 46
        ActiveWindow.ScrollColumn = 47
        ActiveWindow.ScrollColumn = 48
        ActiveWindow.ScrollColumn = 49
        Range("BB2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWindow.ScrollColumn = 48
        ActiveWindow.ScrollColumn = 47
        ActiveWindow.ScrollColumn = 45
        ActiveWindow.ScrollColumn = 44
        ActiveWindow.ScrollColumn = 43
        ActiveWindow.ScrollColumn = 42
        ActiveWindow.ScrollColumn = 41
        ActiveWindow.ScrollColumn = 40
        ActiveWindow.ScrollColumn = 39
        ActiveWindow.ScrollColumn = 38
        ActiveWindow.ScrollColumn = 37
        ActiveWindow.ScrollColumn = 36
        ActiveWindow.ScrollColumn = 35
        ActiveWindow.ScrollColumn = 34
        ActiveWindow.ScrollColumn = 33
        ActiveWindow.ScrollColumn = 32
        ActiveWindow.ScrollColumn = 31
        ActiveWindow.ScrollColumn = 30
        ActiveWindow.ScrollColumn = 29
        ActiveWindow.ScrollColumn = 28
        ActiveWindow.ScrollColumn = 27
        ActiveWindow.ScrollColumn = 26
        ActiveWindow.ScrollColumn = 27
        Sheets("Analyse").Select
        Range("N6:S6").Select
        Application.CutCopyMode = False
        Selection.Copy
        Range("A2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Sheets("Feuil1").Select
        Range("AE2:AZ2").Select
        Application.CutCopyMode = False
        Selection.Copy
        ActiveWindow.ScrollColumn = 27
        ActiveWindow.ScrollColumn = 28
        ActiveWindow.ScrollColumn = 29
        ActiveWindow.ScrollColumn = 30
        ActiveWindow.ScrollColumn = 31
        ActiveWindow.ScrollColumn = 32
        ActiveWindow.ScrollColumn = 33
        ActiveWindow.ScrollColumn = 34
        ActiveWindow.ScrollColumn = 35
        ActiveWindow.ScrollColumn = 36
        ActiveWindow.ScrollColumn = 37
        ActiveWindow.ScrollColumn = 38
        ActiveWindow.ScrollColumn = 39
        ActiveWindow.ScrollColumn = 40
        ActiveWindow.ScrollColumn = 41
        ActiveWindow.ScrollColumn = 42
        ActiveWindow.ScrollColumn = 43
        ActiveWindow.ScrollColumn = 44
        ActiveWindow.ScrollColumn = 45
        ActiveWindow.ScrollColumn = 46
        ActiveWindow.ScrollColumn = 47
        ActiveWindow.ScrollColumn = 48
        Range("BB3").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    End Sub

  5. #5
    Membre confirmé
    Homme Profil pro
    Joueur poker pro
    Inscrit en
    Janvier 2022
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Joueur poker pro

    Informations forums :
    Inscription : Janvier 2022
    Messages : 90
    Par défaut
    J'ai fait un modèle simplifié, il semblerait que si je fais un code comme ci-dessous, alors ça marche, je suppose que cela va fonctionner aussi sur le code du message précédant.

    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
    Sub Macro8()
    '
    ' Macro8 Macro
    '
     
    '
    Dim nombre As Integer
    nombre = Range("A20")
    For x = 4 To nombre
     
        Range("E" & x).Select
        Selection.Copy
        Range("G" & x).Select
        ActiveSheet.Paste
        Next
     
    End Sub
    Nom : nombre.png
Affichages : 426
Taille : 4,5 Ko

    mais Je n'arrive pas à faire la même chose, quand il y'a plusieurs cellule sélectionner, dans l'image si dessus j'essai de sélection (yx : ATx) ou x et le numéro de ligne.
    exemple si x = 5 alors sélection (y5 : AT5)

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 055
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    es ce que vous aurais une vidéo ou un PDF à conseiller sur comment activer l'enregistreur de macros et la relier à un raccourcis
    Un tutoriel à lire Excel et l'enregistreur de macro

    J'ai activé l'enregistreur de macro, ou j'ai répété l'action 2 fois, es ce que c'est possible faire répéter l'opération, mais à chaque fois avec + 1 en ligne.
    Un tutoriel à lire La gestion des boucles dans Excel

    mais Je n'arrive pas à faire la même chose, quand il y'a plusieurs cellule sélectionner, dans l'image si dessus j'essai de sélection (yx : ATx) ou x et le numéro de ligne.
    exemple si x = 5 alors sélection (y5 : AT5)
    Je vous ai déjà écrit que les méthodes Select, Activate sont à proscrire.

    A la place de ces lignes de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Range("E" & x).Select
    Selection.Copy
    Range("G" & x).Select
    ActiveSheet.Paste
    Next
    Il suffit d'écrire (Attention, écrit de mémoire donc non testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("E" & x).Copy Destination:=Range("G" & x)
    [EDIT]
    Ne pas oublier bien entendu la parentalité des objets

    [EDIT2]
    mais Je n'arrive pas à faire la même chose, quand il y'a plusieurs cellule sélectionner, dans l'image si dessus j'essai de sélection (yx : ATx) ou x et le numéro de ligne.
    exemple si x = 5 alors sélection (y5 : AT5)
    Copie de la plage A4:B14 vers la cellule P2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Dim r As Long
      r = 4
      Range("A" & r & ":" & "B" & r + 10).Copy Destination:=Range("P2")
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    995
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 995
    Par défaut
    Citation Envoyé par robinet sauvage Voir le message
    Bonjour, es ce que vous aurais une vidéo ou un PDF à conseiller sur comment activer l'enregistreur de macros et la relier à un raccourcis
    Mais connaissance en VBA s'arête pour le moment à ce qui à étais enseigner dans cette série de 9 vidéo
    Bonjour.
    Je vous conseille de lire la documentation suivante qui explique les bases de la programmation.
    Cela vous permettra de progresser rapidement et vous fera donc gagner du temps.

    Apprendre la programmation en VBA pour EXCEL par la pratique - Première partie

    Bonne programmation.

  8. #8
    Membre confirmé
    Homme Profil pro
    Joueur poker pro
    Inscrit en
    Janvier 2022
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Joueur poker pro

    Informations forums :
    Inscription : Janvier 2022
    Messages : 90
    Par défaut
    Bonjour, merci à tous pour vos liens, sur la programmation vba, je vais essayer de lire tout ça ce week-end

    J'ai réussi à faire le code, mais comme la valeur a coller étais en valeur 123 j'ai utilisé la méthode Select Activate, car je ne sais pas faire autrement pour le moment.
    Pourquoi la méthode Select Activate et à proscrire ?

    Vocie le code :


    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
    Sub Macro3()
    '
    ' Macro3 Macro
     
    Dim nombre As Integer
    nombre = Range("V14")
    For x = 5 To nombre
     
    Worksheets("Analyse").Range("N" & x & ":" & "S" & x).Copy Destination:=Range("A2")
     
        Range("W5:AR5").Select
        Application.CutCopyMode = False
        Selection.Copy
        ActiveWindow.ScrollColumn = 19
        ActiveWindow.ScrollColumn = 20
        ActiveWindow.ScrollColumn = 22
        ActiveWindow.ScrollColumn = 23
        ActiveWindow.ScrollColumn = 24
        ActiveWindow.ScrollColumn = 25
        ActiveWindow.ScrollColumn = 27
        ActiveWindow.ScrollColumn = 28
        ActiveWindow.ScrollColumn = 30
        ActiveWindow.ScrollColumn = 31
        ActiveWindow.ScrollColumn = 32
        ActiveWindow.ScrollColumn = 33
        ActiveWindow.ScrollColumn = 34
        ActiveWindow.ScrollColumn = 35
        ActiveWindow.ScrollColumn = 36
        ActiveWindow.ScrollColumn = 37
        ActiveWindow.ScrollColumn = 38
        ActiveWindow.ScrollColumn = 39
        ActiveWindow.ScrollColumn = 40
        Range("AU" & x).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveWindow.ScrollColumn = 39
        ActiveWindow.ScrollColumn = 38
        ActiveWindow.ScrollColumn = 37
        ActiveWindow.ScrollColumn = 36
        ActiveWindow.ScrollColumn = 35
        ActiveWindow.ScrollColumn = 34
        ActiveWindow.ScrollColumn = 33
        ActiveWindow.ScrollColumn = 32
        ActiveWindow.ScrollColumn = 31
        ActiveWindow.ScrollColumn = 30
        ActiveWindow.ScrollColumn = 29
        ActiveWindow.ScrollColumn = 28
        ActiveWindow.ScrollColumn = 27
        ActiveWindow.ScrollColumn = 26
        ActiveWindow.ScrollColumn = 25
        ActiveWindow.ScrollColumn = 24
        ActiveWindow.ScrollColumn = 23
        ActiveWindow.ScrollColumn = 22
        ActiveWindow.ScrollColumn = 21
        ActiveWindow.ScrollColumn = 20
        ActiveWindow.ScrollColumn = 19
        ActiveWindow.ScrollColumn = 18
        ActiveWindow.ScrollColumn = 17
        ActiveWindow.ScrollColumn = 16
        ActiveWindow.ScrollColumn = 15
        ActiveWindow.ScrollColumn = 14
        ActiveWindow.ScrollColumn = 13
        Worksheets("Analyse").Range("M" & x).Copy Destination:=Range("AT" & x)
        Next
     
    End Sub

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

Discussions similaires

  1. [Débutant] Automatisation d'une collecte de données
    Par abel413 dans le forum MATLAB
    Réponses: 4
    Dernier message: 28/05/2013, 12h21
  2. [Access 2007 - Nouveauté] Collecter des données via Outlook
    Par Maxence HUBICHE dans le forum Sondages et Débats
    Réponses: 15
    Dernier message: 04/06/2007, 14h31
  3. Collecter des données
    Par mout1234 dans le forum IHM
    Réponses: 9
    Dernier message: 22/02/2007, 19h11
  4. automatiser l'importation de donnée via DTS
    Par cortex024 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/03/2006, 11h07
  5. automatiser l'insertion de données dans une bd
    Par matterazzo dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 24/10/2005, 02h06

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