Insertion ligne vers le bas depuis UserForm

Bonjour,

J'ai mis en place un UserForm qui récupère un certains nombres d'infos.

Une fois ces infos renseignées, le clic sur le bouton insére une ligne sur une de mes feuilles.

on peut refaire l'opération autant de fois que nécessaire et les lignes sont ajoutées / insérées.

J'ai récupèré un bout de code fonctionnel pour ce faire, mais le hic c'est qu'il les ajoute vers le haut... et je souhaiterais le faire vers le bas.

J'ai changé Up par Down mais rien n'y fait...

Quelqu'un aurait une idée ?

Ci-dessou, le bout de code concerné :

Private Sub CommandButtonAjout_Click()
Feuil3.Activate
If Range("A4") <> "" Then
Rows("4:4").Select
Selection.Insert shift:=xlDown
End If

Merci d'avance de votre aide.

Bonjour

Vous complétez une USF et vous voulez ajouter les lignes à la dernière ligne libre ??

Cordialement

Bonjour

Vous complétez une USF et vous voulez ajouter les lignes à la dernière ligne libre ??

Cordialement

Oui je compléte une USF et je veux que les données s'insère dans la ligne 4 d'un tableau.

Que l'insertion suivante s'insère en ligne 5 (donc en dessous de la première insertion), la suivante en ligne 6 (en dessous de la 2eme insertion).... etc

Bonjour mattheoh, Dan,

Je propose ce code VBA :

Option Explicit

Private Sub CommandButtonAjout_Click()
  Dim lig&
  Feuil3.Activate: Application.ScreenUpdating = 0
  lig = Cells(Rows.Count, 1).End(xlUp).Row + 1
  Cells(lig, 1) = "1ère donnée du formulaire"
End Sub

À mattheoh de faire la suite...

dhany

merci @dhany

ça marche pas mal, et ça insère bien vers le bas à la suite...

par contre l'ajout se fait aprés mon tableau... alors que je voudrais qu'il se fasse à partir de la 4eme ligne...

Une idée ?

Quelle est la 1ère colonne du tableau ? et la dernière colonne du tableau ? (j'en ai besoin pour faire la suite)

Re,

Code à essayer :

Sub test()
Dim lig As Integer

With Feuil3
    If .Range("A4") <> "" Then
        lig = 5
        .Rows(lig).Insert shift:=xlUp
        .Cells(lig, 1) = "donnée de l'USF"
    End If
End With
End Sub

Il faudra bien entendu connaitre les données de l'usr à placer dans la feuille et savoir dans quelles colonnes elles doivent aller

Le mieux serait de voir votre fichier

Cordialement

Quelle est la 1ère colonne du tableau ? et la dernière colonne du tableau ? (j'en ai besoin pour faire la suite)

merci de ton retour.

je te le mets en PJ ce sea plus simple

17classeur1.xlsx (11.14 Ko)

Bonsoir mattheoh,

Y'a pas une erreur de fichier ? celui que tu as joint est un .xlsx, donc sans macro ! de plus, y'a pas de UserForm !

dhany

Bonsoir mattheoh,

Y'a pas une erreur de fichier ? celui que tu as joint est un .xlsx, donc sans macro ! de plus, y'a pas de UserForm !

dhany

C'est juste le tableau que j'ai copier... je ne peux pas diffuser publiquement le fichier dans sa globalité...

Tu aurais besoin de quoi comme autre info ?

En fait j ai trouvé une parade pour que ca ne me pose plus de soucis cette insertion vers le haut... mais bon c'est toujours bon d'apprendre

Je te retourne quand même ton fichier, converti en xlsm pour pouvoir y insérer une macro :

9classeur1.xlsm (16.00 Ko)

Ctrl a ➯ ça insère une nouvelle ligne juste sous ta ligne obligatoire n° 3.

Alt F11 pour voir la macro, puis revenir sur Excel

Si besoin, tu peux demander une adaptation.

Merci de me dire si ça te convient.

dhany

cool, c’est pas mal du tout, je vais pouvoir l'exploiter je pense ainsi.

un grand merci.

petite question dans ta macro

Sub AddLigne()
  Application.ScreenUpdating = 0
  [A4:K4].Insert -4121, 0
End Sub

A quoi correspond le -4121,0 ?

merci

Tu a écrit :

À quoi correspond le -4121,0 ?

c'est idem que : [A4:K4].Insert xlDown, xlFormatFromLeftOrAbove (mais en plus court ! )

dhany

Rechercher des sujets similaires à "insertion ligne bas userform"