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 :

[VBA-E] Descendre de ligne apres une copie de cellules


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut [VBA-E] Descendre de ligne apres une copie de cellules
    Bonjour,

    j'ai créer un programme qui permet de copier plusieurs cellules d'un fichier excel vers un autre fichier excel par le biais d'un UserForm.
    Pour permettre la copie, je suis obligé d'indiquer les cellules. J'aimerai que le code fasse en sorte que la copie s'effectue à chaque fois à la dernière ligne de mon tableau. Je précise que je débute désolé pour l'indentation.

    voici le code pour vous permettre de mieux comprendre:
    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
     
    'Lors de l'appui sur le bouton valider
    Private Sub CommandButton2_Click()
     
     
    Dim Fichier As String
     
     
    On Error Resume Next
    Fichier = TextBox1.Text
    Workbooks.Open Filename:="C:\Documents and Settings\blabla\Mes documents\TEST INFORMATIQUE \fichiers excel\" & Fichier & ".xls"
     
     
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("B517").Value = Workbooks(Fichier).Worksheets(1).Range("E6").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("D517").Value = Workbooks(Fichier).Worksheets(1).Range("B5").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("F517").Value = Workbooks(Fichier).Worksheets(1).Range("B12").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("G517").Value = Workbooks(Fichier).Worksheets(1).Range("B8").Value
                      Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("H517").Value = Workbooks(Fichier).Worksheets(1).Range("E14").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("I517").Value = Workbooks(Fichier).Worksheets(1).Range("B14").Value
                      Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("J517").Value = Workbooks(Fichier).Worksheets(1).Range("B15").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("K517").Value = Workbooks(Fichier).Worksheets(1).Range("B13").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("L517").Value = Workbooks(Fichier).Worksheets(1).Range("B6").Value
                      Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("M517").Value = Workbooks(Fichier).Worksheets(1).Range("B6").Value
               Workbooks(Fichier).Worksheets(1).Range("a18").Copy Destination:=Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("n517")
              Workbooks(Fichier).Worksheets(1).Range("b42").Copy Destination:=Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("o517")
              Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("P517").Value = Workbooks(Fichier).Worksheets(1).Range("A58").Value
                      Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("Q517").Value = Workbooks(Fichier).Worksheets(1).Range("B24").Value 
              Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("R517").Value = Workbooks(Fichier).Worksheets(1).Range("B24").Value
     
     
    If Err <> 0 Then
        MsgBox "fichier " & Fichier & " introuvable ou nom incorrect !"
    Else
        MsgBox "fichier " & Fichier & " mis en synthèse avec succès !"
    End
    End If
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Fais des recherches sur le forum et les contributions, tu trouveras toutes les infos. Recherche avec "UsedRange" ou "End".

    Starec

  3. #3
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    je n'ai pas trouvé ce que je cherchais. Quelqu'un pourrait m'aider s'il vous plait??

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Points : 304
    Points
    304
    Par défaut
    Recherche des informations sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").CurrentRegion.Rows.Count
    , qui te donne le nombre de lignes de la plage de données dans laquelle se trouve la cellule A1.

    C'est une question qui revient très souvent
    Si votre problème est solutionné, n'oubliez pas de cliquer sur , merci !
    Alliance ruinée cherche mécène : un clic pour vous, un don pour nous

  5. #5
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Après une recherche je pense avoir trouvé le code dont j'ai besoin mais j'aimerai bien qu'on m'explique en detail comment il fonctionne car je le comprends pas bien! par exemple je ne sais pas ce qu'il faut écrire à la place de "quelque chose"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    NoLigne = 2
    Fin = quelque chose
    Do
         'J'insère une ligne
         Rows(NoLigne).Insert Shift:=xlDown
         'Je renseigne la plage ou la cellule
         Range("A" & NoLigne).Value = "Je ne sais pas avec quoi tu la remplis"
         NoLigne = NoLigne + 1
    Loop While NoLigne > Fin
    @+

  6. #6
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    J'ai résolu mon problème
    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
    'Lors de l'appui sur le bouton valider
    Private Sub CommandButton2_Click()
    'on declare les variables
    Dim Fichier As String
    Dim NoLigne As Integer
    'On selectionne la cellule active
    NoLigne = ActiveCell.Row
     
    On Error Resume Next
    'On tappe le nom du fichier dans un textBox
    Fichier = TextBox1.Text
    'Chemin du fichier
    Workbooks.Open Filename:="C:\Documents and Settings\Mes documents\TEST INFORMATIQUE\fichiers excel\" & Fichier & ".xls"
     
             'copie des cellules d'un fichier vers un autre sur la ligne de la cellule active
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("B" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("E6").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("D" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B5").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("F" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B12").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("G" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B8").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("H" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("E14").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("I" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B14").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("J" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B15").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("K" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B13").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("L" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B6").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("M" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B6").Value
             Workbooks(Fichier).Worksheets(1).Range("a18").Copy Destination:=Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("n" & NoLigne)
             Workbooks(Fichier).Worksheets(1).Range("b42").Copy Destination:=Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("O" & NoLigne)
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("P" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("A58").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("Q" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B24").Value
             Workbooks("SYNTHESE RECLAMATIONS 2007").Worksheets(1).Range("R" & NoLigne).Value = Workbooks(Fichier).Worksheets(1).Range("B24").Value
     
    'gestion des erreurs
    If Err <> 0 Then
        MsgBox "fichier " & Fichier & " introuvable ou nom incorrect !"
    Else
        MsgBox "fichier " & Fichier & " mis en synthèse avec succès !"
    End
    End If
    End Sub
    Voila c'est résolu!!!!

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

Discussions similaires

  1. Retour à la ligne après une certaine balise (sed ?)
    Par openlife dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 19/04/2011, 19h32
  2. changer le currentdb après une copie
    Par koyot3 dans le forum VBA Access
    Réponses: 4
    Dernier message: 16/07/2008, 11h14
  3. VBA excel: Ajouter des zéros après une virgule
    Par kimai81 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 17/02/2008, 21h54
  4. Supprimer le retour à la ligne après une liste deroulante
    Par kobe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 30/08/2006, 13h34
  5. [VBA-E]Erreur lors d'une copie de cellules
    Par illight dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/02/2006, 11h22

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