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 :

Copier/coller ligne complète


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2017
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Copier/coller ligne complète
    Bonjour,

    Dans ma feuille 6 je souhaiterai que lorsque dans la feuille 1 il continue à y avoir des lignes; la ligne de la feuille 6 soit copier puis coller en dessous pour que les valeurs soient identiques. Et celles qui devront changer changeront avec la suite du code.

    Mon code le voici :

    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
      Dim p As Integer
    
    p = 13
    
    
        'En tête cde
        Feuil5.Cells(1, 3) = Feuil4.Cells(5, 2)
        Feuil5.Cells(1, 5) = Application.WorkDay(today, 2, 0)
        
    While Feuil1.Cells(p, 1) <> ""
    
        'Ligne cde
        If p <> 13 Then
        
            Feuil6.Cells(p - 13).Select
            Feuil6.Rows(p - 12, 1).Select
            ActiveSheet.Paste
            
        End If
        
        Feuil6.Cells(p - 12, 3) = Feuil4.Cells(5, 2)
        Feuil6.Cells(p - 12, 4) = p - 12
        Feuil6.Cells(p - 12, 5) = Feuil1.Cells(p, 2)
        Feuil6.Cells(p - 12, 6) = Feuil1.Cells(p, 3)
        Feuil6.Cells(p - 12, 8) = Feuil1.Cells(p, 1)
        
        p = p + 1
    
    Wend
    C'est ma parti IF qui ne fonctionne pas :/

    EN vous remerciant pour votre aide.

  2. #2
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Bonjour,

    La syntaxe Cells te permet de travailler sur une cellule. Pour repérer une cellule, on a besoin d'un n° de ligne et d'un n° de colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(n° ligne, n° colonne).Value = "toto"
    La syntaxe Rows te permet de travailler sur une ligne. Pour repérer une ligne, on a besoin d'un n° de ligne seulement :
    Qu'elle est la feuille Active au moment où tu lances le code? N'utilise pas Select, Activate, ActiveSheet... Mais travaille directement sur les objets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil6.Rows(p - 12).Copy destination:=Feuil1.Cells(p, 1)
    Pour trouver la dernière ligne non vide d'une colonne, pas besoin de faire une boucle While :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim derLig
    derLig = Feuil6.Cells(Rows.Count, 1).End(xlUp).Row
    Ensuite, tu feras une boucle For :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For p = 13 To derLig
    '...
    Next p

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2017
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Bonjour riaolle,

    Il faut que je supprime totalement ma boucle IF ??

  4. #4
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Attention, IF n'est pas une boucle, mais une condition. Je ne te dis pas de supprimer la condition If. As-tu besoin de vérifier que p<>13? Alors, il faut bien que tu continues à le vérifier. C'est ce qu'il y a à l'intérieur de la condition qui n'est pas correct. Relis mon message precedent. Au début, je t'explique l'utilisation des syntaxes que tu aimerais utilsier dans ta condition. Tu les utilises mal et je t'explique comment les utilsier correctement.

    Ensuite, je t'explique que tu n'es pas obligé de passer par une boucle While pour trouver la dernière ligne vide d'une colonne --> cf. message precedent pour les explicaitons.

Discussions similaires

  1. [XL-2010] Copier-coller ligne dans fichiers .xls multiples
    Par Steppingstone dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/12/2013, 15h13
  2. boucle copier coller ligne condition valeur de la colonne C
    Par raniakali dans le forum Général VBA
    Réponses: 1
    Dernier message: 18/11/2013, 11h16
  3. [XL-2007] Copier Coller Ligne vers autre feuille de même classeur
    Par pasterlouis dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/06/2013, 09h58
  4. copier/coller lignes sous condition colonne vers autre feuille
    Par juniorglobal08 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/05/2009, 17h29
  5. Copier - coller ligne entière sur une autre feuille
    Par s.echeff dans le forum Excel
    Réponses: 1
    Dernier message: 10/04/2009, 17h35

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