Mettre à la suite (VBA)

Résolu
Co_nexion Messages postés 333 Statut Membre -  
Co_nexion Messages postés 333 Statut Membre -
Bonjour,

Auriez-vous l'oeil pour déterminer comment faire en sorte que les lignes s'incrivant sur la feuille archive_cdd_fincontrat se mettent à la suite et n'écrase pas les donnéees precédentes ?

Il s'agit certainement de modifier la ligne en gras mais je n'y arrive pas...

Merci d'avance

Private Sub CommandButton1_Click()
  'Mise a jour Colonne ICP
  With Worksheets("CDD")
    .Range("O" & Ligne_Select).Value = TextBox2.Value
    
    'Premiere cellule vide en partant d'une cellule
    PCVideA = Worksheets("CDD_Fin_de_Contrat").Columns(1).Find("", Range("A30").End(xlUp), , , xlByRows).Row
    
    'Copie ligne dans Archive_CDD_Fin_de_Contrat
    .Rows(Ligne_Select & ":" & Ligne_Select).Copy Worksheets("Archive_CDD_Fin_de_Contrat").Range("A" & PCVideA)
    
    'Supprime ligne dans CDD
    .Rows(Ligne_Select & ":" & Ligne_Select).Delete xlUp
    
  End With

3 réponses

  1. H0gS Messages postés 380 Statut Contributeur 36
     
    Bonjour Co_nexion,

    Il y a longtemps que je n'ai pas travailler avec VBA, mais je pense avoir la réponse à ta question...

    Actuellement tu écrases le contenu de la cellule car tu copies un nouveau contenu. Essaies plutôt d'ajouter ton contenu à l'ancien.

    Comme mentionné plus tôt, je ne me rappelle plus de la syntaxe (probablement qu'un confrère m'aidera), mais sans doute comprendras-tu malgré tout ce qu'il faudra modifier.

    Cellule = Cellule + "Contenu à ajouter"

    Voilà, ce qui faudrait faire.

    Tu dois écrire dans la cellule son ancien contenu (en la lisant) et en ajoutant le nouveau contenu.

    Bonne chance!
    0
    1. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Salut,

      pour mettre un contenu en juxtaposition, préférer & plutôt que +...
      0
    2. H0gS Messages postés 380 Statut Contributeur 36
       
      Tout dépend de la syntaxe du langage. En VBA, probablement qu'il est préférable d'utiliser & plutôt que +, mais en C++ ou C#, vous devez utilisez le +.
      0
    3. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Le question porte sur du VBA...:-)
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour
    essaies cette syntaxe à adapter à tes feuilles
    With Sheets("feuil2")
         Rows(.Columns("A").Find("", , , , , xlPrevious).Row) = Sheets("feuil1").Rows(ligne_select).Value
    End With


    0
  3. Co_nexion Messages postés 333 Statut Membre
     
    Bonjour à tous

    Merci de vous intéresser à mon problème.

    J'ai essayer ta formule michel en la mettant à la suite de mon code et en l'adaptant cependant cela ne fonctionne pas et la première fonction prime. Cependant si j'efface la première la ligne disparait...

    Et Hogs, je ne vois pas très bien comment mettre en forme l'idée que tu me suggère...

    Bref je suis toujours bloqué...
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      curieux j'(avais testé sur une maquette et la ligne "ligne_select" avec une valeur bidon de ligne_select de feuil1était bien recopiée dans la première ligne vide de la feuille2

      Quant à hogs ce qu'il écrit
      Cellule = Cellule + "Contenu à ajouter" avec & ou + est une concaténation...
      0
    2. Co_nexion Messages postés 333 Statut Membre
       
      Bonjour Michel, Hogs, le forum,

      Je reviens vers vous car n'ayant toujours pas réussi à trouver la solution.

      Je pense que le code que tu m'as fourni Michel est bon cependant je me demandes si ce n'est pas la ligne,

      PCVideA = Worksheets("CDD_Fin_de_Contrat").Columns(1).Find("", Range("A30").End(xlUp), , , xlByRows).Row

      qui peut poser problème. Car les lignes se mettent n'importe où entre la 1ère et la sixième ligne et se recouvrent entres elles.
      0
    3. Co_nexion Messages postés 333 Statut Membre
       
      En ecrivant le précédent post, j'ai penser subitement à quelque chose et il s'avère que je tiens une piste.
      Je reviendrais surement vers vous mais pour l'instant veuillez oublier le message précédent.
      0