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 :

couper coller VBA [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Par défaut couper coller VBA
    Bonjour, je suis vraiment néophyte dans le domaine du VBA et malgré des recherches, je n'y arrive pas.
    j'ai un tableau "cotisation" de 350 lignes et je dois couper-coller, dans une feuille "rappel", les lignes dont la colonne "K" est inscrite "payé". J'arrive à le faire mais les "couper-coller" ne se mettent pas les uns derrière les autres sur la feuille "rappel". De même, la ligne tableau "cotisation" s'efface mais laisse des espaces entre les noms. Merci beaucoup de votre aide

  2. #2
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut
    Bonjour

    Comment fais-tu ton copier-coller? Peux-tu mettre un exemple de ton départ de ton arrivée etde ce que tu souhaites?
    Chez moi, je fais un copier-coller après un filtre automatique etje n'ai pasde saut.

    Que veux-tu dire ?
    ne se mettent pas les uns derrière les autres sur la feuille "rappel".
    De même, la ligne tableau "cotisation" s'efface mais laisse des espaces entre les noms.

  3. #3
    Membre régulier
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Par défaut
    Hello,

    Pour faciliter l'explication j'ai joints mon exemple.

    Comme j'ai dit, suis néophyte et en tentant de comprendre je me suis mélangé les pinceaux et je n'arrive pas à m'en sortir.

  4. #4
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut
    Hello

    Pour faciliter l'explication j'ai joints mon exemple.
    Où? merci de refaire la procédure

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Ceci devrait convenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim i As Integer
     
    With Sheets("cotisation") '<-- nom de feuille "cotisation" à adapter
        For i = 2 To .Cells(Rows.Count, "K").End(xlUp).Row
            If .Cells(i, "K") = "payé" Then
                Rows(i).Copy Sheets("rappel").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) 'nom de feuille "rappel" à adapter
                Rows(i).Delete
                i = i - 1
            End If
        Next
    End With
    End Sub

  6. #6
    Membre régulier
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Par défaut
    Hello fring,

    Effectivement cela marche, mais le problème c'est que la ligne va toujours se copier sur la ligne A2 et cela écrase les données précédentes. J'aimerai que cela vient se copier les uns après les autres.

    Hello QuestVba,

    Je n'arrive pas à joindre le fichier. Il m'inscrit toujours fichier pas valide. Mais tu peux voir que je vais peut-être trouver une solution. Merci quand même d'avoir répondu à un plus que débutant.

  7. #7
    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
    Parce que probablement que ta colonne A est vide

    Code de Fring modifié

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
    Dim i As Long
     
    With Worksheets("cotisation")                      '<-- nom de feuille "cotisation" à adapter
        For i = .Cells(.Rows.Count, "K").End(xlUp).Row To 2 Step -1
            If .Cells(i, "K") = "payé" Then
                .Rows(i).Copy
                Worksheets("rappel").Rows(2).Insert    'nom de feuille "rappel" à adapter
                Application.CutCopyMode = False
                .Rows(i).Delete
            End If
        Next
    End With
    End Sub

  8. #8
    Membre régulier
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Par défaut
    Superbe, une ou deux petites modifications de ma compétence et ça fonctionne. Une toute dernière chose et mon programme sera terminé. J'ai créé un bouton qui, lorsque je clique dessus écrit "payé" dans la case que j'ai selectionnée et la ligne entière devient en couleur. Afin que je n'aie pas trop de bouton, est-ce qu'il y a possibilité de tout inclure et surtout faire attention à quoi. J'ai essayé, cherché dans le forum, mais ça ne fonctionne pas du tout. Je débute vraiment.

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

Discussions similaires

  1. [XL-2003] VBA : Comparer cellules + couper/coller lignes
    Par CedricBDO dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/08/2011, 09h22
  2. couper / coller vba excel
    Par avyrex dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/03/2008, 02h31
  3. [VBA]Couper coller dans un formulaire continu
    Par PhRey dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/04/2007, 16h53
  4. [VBA-E] Couper-coller
    Par tonyC dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/05/2006, 17h04
  5. [VBA-E] couper-coller graphique dans autre woorkbooks
    Par gigs dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/04/2006, 12h42

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