Mettre des lignes en descendant

Fermé
FOT.02 Messages postés 84 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 5 mai 2022 - 28 nov. 2016 à 11:37
yg_be Messages postés 22713 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 - 28 nov. 2016 à 22:27
Bonjour,
Débutant en VBA je suis en train d 'essayer de faire une feuille travail avec un userform , j'ai su créer mon userform , mais mes données ne se mettent pas ou je veux.

Quand je valide mes données qui sont en ligne 2 ,elles glissent en ligne 3 , la ligne 2 devient vide.

moi ce que je voudrais c'est que les lignes se placent comme si j'écrivais sur une feuille de papier les une en dessous des autres et ou il n' y a rien d'inscrit dans la ligne.

a savoir que je fait une copie dans une seconde feuil ( feuill2 ) et que sur la feuill2 ça fonctionne comme je veux

 Private Sub CommandButton1_Click()
If MsgBox("confirmez", vbYesNo, "confirmation") = vbNo Then Exit Sub
Rows("2:2").Select
Selection.Insert shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Unload UserForm1
Load UserForm1
UserForm1.Show


'Copié feuill1 dans feuill 2

Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long

Sheets("Feuil2").Activate ' feuille de destination

Col = "C" ' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("Feuil1") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value <> "" Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig, 1).Select
ActiveSheet.Paste
End If
Next
End With




End Sub





2 réponses

yg_be Messages postés 22713 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 474
28 nov. 2016 à 20:19
Je n'ai pas bien compris ce que tu veux faire, mais je me demande si les lignes suivantes sont bien utiles:
Rows("2:2").Select
  Selection.Insert shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Je te suggère, pour éviter des surprises, d'utiliser le moins possible Select et Activate, en faisant plutôt, par exemple :
Sheets("Feuil2").Paste
0
FOT.02 Messages postés 84 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 5 mai 2022 4
28 nov. 2016 à 22:07
j'ai voulu jouer a l'apprenti sorcier ,j'ai trop bidouillé mes formules ne sont pas bonnes,plus rien ne fonctionne

On ne s'occuple plus de la feuill 2

Je vais essayé d’être plus clair , mon userform envoi des données
dans :A2, B2 ....
dés je j'appuie sur le bouton validé de mon userform les données descendent dans : A3,B3...
si j'envoi encore des données, les nouvelles données se mettent A2, B2 .... et vont dans vont dans A3, B3 .. et ceux qui étaient dans A3,B3 descendent dans A4,B4....

Moi ce que je veux c'est que les premières données se mettent dans A2,B2.... et y reste , quand je renvoi des données quelles se mettent dans A3,B3 et y reste et si je renvoi encore quelle se mettent dans A4, B4. etc...

merci d'avance
0
yg_be Messages postés 22713 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 22 avril 2024 1 474
28 nov. 2016 à 22:27
Ce serait bien que tu partages ton fichier.
Je suppose que, dans la définition de ton userform, tu as lié userfom à la ligne 2 de feuill1. c'est exact?
Tu proposes de ne plus parler de la feuill 2. D'un autre coté, c'est bien d'avoir une idée de vers où tu veux aller, non?
On pourrait imaginer que ton userform reste lié à la ligne 2 de feuill1, et qu'on copie cette ligne à la fin de feuill 2.
Sans voir ton fichier et sans que tu expliques ton objectif, c'est pas facile...
0