Mettre à la suite (VBA)

Résolu
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   -  
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   -
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

H0gS Messages postés 266 Date d'inscription   Statut Contributeur Dernière intervention   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
blux Messages postés 27108 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Salut,

pour mettre un contenu en juxtaposition, préférer & plutôt que +...
0
H0gS Messages postés 266 Date d'inscription   Statut Contributeur Dernière intervention   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
blux Messages postés 27108 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Le question porte sur du VBA...:-)
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
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
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
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