Menu

Mettre des lignes en descendant [Fermé]

Messages postés
68
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
9 avril 2019
- - Dernière réponse : yg_be
Messages postés
7850
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 juin 2019
- 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





Afficher la suite 

2 réponses

Messages postés
7850
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 juin 2019
388
0
Merci
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
Messages postés
68
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
9 avril 2019
0
Merci
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
yg_be
Messages postés
7850
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 juin 2019
388 -
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...