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 :

Insertion de ligne en VBA entre différents classeurs


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut Insertion de ligne en VBA entre différents classeurs
    Bonjour,

    Je vous dérange encore une fois parce que je rame au niveau de mon premier souci... Je n'arrive pas à insérer quelque chose a la dernière ligne de mon tableau sans avoir à donner le numéro de ligne.

    Petite explication :
    A l'heure actuelle j'ai insérer uniquement une ligne dans mon tableau mais pour cela j'ai du préciser le numéro de la ligne dans laquelle je voulais insérer. Et je voudrais que par exemple à la place du numéro de ligne que j'informe, savoir si il est possible d'y mettre une variable qui désignerait la dernière ligne à utiliser.
    Petit détail : dans les lignes que j'ai insérés les cellules ne se succèdes pas forcément les unes après les autres de colonnes en colonnes.

    Je vous donne 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
    Sub SuiviEquipe()
    Dim dest0, dest1, dest2, dest3, dest4, dest5, dest6, dest7, dest8, dest9, dest10, dest11, dest12, dest13, dest14, dest15, dest16 As Range, C As Range
    Dim ligne As Range
    Dim dateprod As Range
    Dim ligneutilisable As Integer
    Dim tpsouverturel32 As Range
    Dim qteFDL As Range
    Dim derniereligne As Integer
     
    'C'est le classeur et la feuille sur lesquelles on va coller les données
    With Workbooks("TravailPourVandieres.xls").Sheets("Feui lle de Saisies")
     
    'Il faudrait que la ligne à utiliser soit trouvé toute seul
    Set dest0 = .Cells(7, 9)
    Set dest1 = .Cells(7, 10)
    Set dest2 = .Cells(7, 11)
    Set dest3 = .Cells(7, 12)
    Set dest4 = .Cells(7, 13)
    Set dest5 = .Cells(7, 14)
    Set dest6 = .Cells(7, 15)
    Set dest7 = .Cells(7, 16)
    Set dest8 = .Cells(7, 17)
    Set dest9 = .Cells(7, 18)
    Set dest10 = .Cells(7, 19)
    Set dest11 = .Cells(7, 20)
    Set dest12 = .Cells(7, 21)
    Set dest13 = .Cells(7, 22)
    Set dest14 = .Cells(7, 23)
    Set dest15 = .Cells(7, 24)
    Set dest16 = .Cells(7, 25)
    Set ligne = .Cells(7, 4)
    Set dateprod = .Cells(7, 1)
    Set qteFDL = .Cells(7, 6)
    Set tpsouverturel32 = .Cells(7, 26)
     
    'C'est le classeur et la feuille dans lesquelles on va copier les données
    Workbooks("Exemple de rapport de perfs.xls").Sheets("Prologen Data Export").Activate
     
    [E11].Copy dest0
    [E13].Copy dest1
    [E27].Copy dest2
    [E37].Copy dest3
    [E43].Copy dest4
    [E48].Copy dest5
    [E56].Copy dest6
    [E66].Copy dest7
    [E76].Copy dest8
    [E85].Copy dest9
    [E90].Copy dest10
    [E93].Copy dest11
    [E99].Copy dest12
    [E102].Copy dest13
    [E112].Copy dest14
    [E113].Copy dest15
    [E114].Copy dest16
    [E4].Copy ligne
    ligne = Replace(Right(Range("E4").Value, 4), "-", "")
    [C2].Copy dateprod
    dateprod = Replace(Left(Range("C2").Value, 10), "-", "/")
    [H6].Copy qteFDL
    [E8].Copy tpsouverturel32
     
    End With
    End Sub
    Qu'en pensez vous ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour


    Je n'arrive pas à insérer quelque chose a la dernière ligne de mon tableau sans avoir à donner le numéro de ligne.
    Suivant la colonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .Cells(Rows.Count, 1).End(xlUp).Row 'num colonne 1 a changer

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une remarque à part
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim dest0, dest1, dest2, dest3, dest4, dest5, dest6, dest7, dest8, dest9, dest10, dest11, dest12, dest13, dest14, dest15, dest16 As Range
    Toutes les variables sont des variant sauf dest16
    par ailleurs, je ne vois pas l'utilité de ces variables, mais bon, c'est une choix

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut
    Je ne suis qu'un débutant peu etre que j'ai fait des choses inutiles.

    Bref merci zyhack pour ta methode mais malheureusement ca ne fonctionne pas, cela me met l'erreur :

    Erreur 13 = Incompatibilité de type.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    l'écriture de la ligne compléte est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligne = Workbooks("TravailPourVandieres.xls").Sheets("Feui lle de Saisies").Cells(Rows.Count, "A").End(xlUp).Row+1
    ce qui te donnera le numero de la première cellule vide de la colonne A

    et ensuite tu utilise sinon remet une copie de ton code pour voir comment tu l'a intégré

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut
    Merci zyhack sa marche !


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

Discussions similaires

  1. Aide pour Macro VBA copie lignes entre 2 classeur
    Par magicsismic dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/03/2015, 21h13
  2. Réponses: 4
    Dernier message: 16/03/2015, 17h10
  3. Réponses: 8
    Dernier message: 20/06/2014, 09h27
  4. [XL-2003] insertion de ligne en vba avec copie de formules
    Par Adweuz dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 30/05/2011, 08h40
  5. Insertion de ligne avec VBA
    Par ANTMA dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 24/09/2007, 14h10

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