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 sous VBA [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut couper coller sous VBA
    Je débute sous VBA avec Excel 2007 je dois couper une ligne dans un tableau d'une feuille et la coller dans un autre tableau dans une autre feuille et cela régulièrement. Jusqu'à maintenant, j'arrive à sélectionner la ligne mettre mes alertes mais pas moyen de couper et coller. Merci de votre aide

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Bonjour,

    Ci dessous le code pour copier la ligne 1 de la feuil1 en ligne 2 de la feuil2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Rows(1).Copy Sheets("Feuil2").Rows(2)
    Que veux tu dire part "mettre mes alertes"

    EDIT ; en effet, comme le dit Blanka347, si couper alors mettre Cut à la place de Copy

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Rows(1).Copy Sheets("Feuil2").Rows(2)
    Ca ne serait pas "cut" par hasard ?

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut couper coller
    Bonjour et merci de votre aide

    je vais être plus clair
    J'ai un tableau de suivi ou suivant le résultat je dois couper la ligne. Dans mon idée, je clique sur un bouton en userform, un premier message me demande de sélectionner une ligne, je sélectionne ma ligne, une alerte me demande de confirmer oui/non puis cela coupe pour coller dans un autre tableau dans une autre feuille. En cas d'une nouvelle sélection, même chose mais cela colle en dessous de la premiere. Mon problème tout se passe bien bien jusqu'à couper. Cela ne marche pas.
    Merci encore

  5. #5
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Est ce ok avec de code

    Le tableau est dans les colonnes A à D
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim i As Long
     
    i = InputBox("ligne a copier")
     
    If MsgBox("confirmer la copie", vbYesNo) = vbYes Then
     
        Sheets("Feuil1").Range("A" & i & ":D" & i).Cut Sheets("Feuil2").Range("A" & Sheets("Feuil2").Range("A65536").End(xlUp).Row + 1)
     
    End If

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut couper coller
    Pas moyen de m'en sortir.

    Je vous glisse mon projet que j'arrive pas à finir. Pouvez vous me dire comment finir? Je sais que je ne suis pas loin de la solution mais je bloque
    Si vous avez une idée je suis prenneur. Merci à tous pour votre patience.

    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
    Private Sub CommandButton_Suppression_de_ligne_Click()
    Dim ChoixRows As Range
    Dim AConfirmer
     
    '   Choix des lignes
    Set ChoixRows = Application.InputBox( _
        Prompt:="Sélectionnez la ligne à couper", _
        Title:="Choix de la ligne", _
        Type:=8)
     
    '   Sélection de la ligne
    '   Demande de confirmation
    ChoixRows.Select
    AConfirmer = MsgBox( _
        Prompt:="Confirmez la suppression de la ligne", _
        Title:="Suppression de la ligne", _
        Buttons:=vbYesNo + vbExclamation + _
        vbDefaultButton2)
    If AConfirmer = vbYes Then ChoixRows.Cut
     Sheets("V8X Réformé").Select
     
    End Sub
    Mon problème:
    J'arrive pas à sélectionner ma page ("V8X Réformé") et coller mon résultat dans la case ("B7") puis prévoir une nouvelle ligne pour la prochaine opération de couper coller.

  7. #7
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Essais comme cela (je me suis attardé sur cette ligne en considérant que le code qui précède fonctionne)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If AConfirmer = vbYes Then 
       ChoixRows.Cut Sheets("V8X Réformé").Range("B" & Sheets("V8X Réformé").Range("B65536").End(xlup).row +1)
    End If

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut couper coller
    Bonjour,

    pas moyen....Pourtant, il me reste plus cas coller. j'ai même pas un defaut qui remonte avec ma conbinaison.

    J'ai inséré tes lignes à la suite et j'ai un défaut 1004. Quand je déchiffre ta solution cela me parrait logique.
    je galère.....

    pas d'autre idées? dans l'ensemble le début est bon? peut être trop compliqué? j'ai mis des heures à faire cela.
    Merci encore de ton aide.

  9. #9
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Si tu coupes une ligne entière, tu dois coller une ligne entière.

    Pour vérifier, essaie avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChoixRows.Cut Sheets("V8X Réformé").Range("A" & Sheets("V8X Réformé").Range("B65536").End(xlup).row +1)
    Cordialement.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Couper coller
    Superrrrrr....
    Un grand merci à tous pour votre aide.
    Cela marche comme j'avais presque prévu. Reste un point non prévu, dans le premier tableau (ligne que je coupe) il me reste la ligne en blanc.
    Question, dois je incorporer une ligne de suppression juste après "couper" ou une fois que la fonction coller est effectuée.
    J'attend votre avis mais je suis super motivé pour la suite encore merci

  11. #11
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Tu peux supprimer ta ligne vide

  12. #12
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Attention, après le couper–coller la plage ChoixRows a changé d’adresse.
    Le numéro de ligne correspond à celui du collage.

    Si tu codes tu ne vas pas supprimer la bonne ligne.

    Le plus simple, c’est de remplacer cut par copy.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton_Suppression_de_ligne_Click()
    Dim ChoixRows As Range
    Dim AConfirmer
        ' Choix de la ligne
        Set ChoixRows = Application.InputBox(Prompt:="Sélectionnez la ligne à couper", Title:="Choix de la ligne", Type:=8)
        ' Sélection de la ligne
        ChoixRows.Select
        ' Demande de confirmation
        AConfirmer = MsgBox(Prompt:="Confirmez la suppression de la ligne", Title:="Suppression de la ligne", Buttons:=vbYesNo + vbExclamation + vbDefaultButton2)
        ' Copie de la ligne
        If AConfirmer = vbYes Then ChoixRows.Copy Sheets("V8X Réformé").Range("A" & Sheets("V8X Réformé").Range("B65536").End(xlUp).Row + 1)
        ' Suppression de la ligne
        ChoixRows.Delete
    End Sub
    Cordialement.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut couper coller
    merci de votre aide et de votre rapidité.


    bonne soirée

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

Discussions similaires

  1. simplification copier coller sous vba avec integration li/col variable
    Par boom47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/06/2012, 14h42
  2. [VBA]Couper coller dans un formulaire continu
    Par PhRey dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/04/2007, 16h53
  3. [VBA-E] Copier coller sous conditions de couleur
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/04/2007, 18h27
  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