Ajout ligne dans un tableau

Bonjour

je sais que ça sera trés simple pour certains mais moi je n'arrive pas !

j'ai ce code en dessous qui sélectionne une ligne de tableau il la copie et il l'ajoute en dessous, sauf qu'il supprime pas la mise en forme de la police

Exemple : par exemple la ligne que je copie sa police était en rouge, et quand j'exécute le code il me rajoute une ligne vide mais il garde quand méme la police rouge si on veut ecrire ?

alors je veux qu'il m'ajoute une ligne vide mais avec une police standard(noire).

pouvez vous m'aider svp ?

Selection.EntireRow.Copy

Selection.Insert Shift:=xlDown

Selection.EntireRow.Offset(1, 0).ClearContents

Bonjour,

essaies ainsi :

Sub Macro1()

' Macro1 Macro
ActiveCell.EntireRow.Select
Selection.Copy
 Selection.Insert Shift:=xlDown
 Application.CutCopyMode = False
 Selection.ClearContents
End Sub

Bonjour,

essaies ainsi :

Sub Macro1()

' Macro1 Macro
ActiveCell.EntireRow.Select
Selection.Copy
 Selection.Insert Shift:=xlDown
 Application.CutCopyMode = False
 Selection.ClearContents
End Sub

Bonjour

je te remercie, mais ton code ne marche pas, je te mets en PJ mon simple fichier :

pour ajouter une ligne il faut se mettre sur une cellule de la colonne A.

Ce n'est pas mon code qui ne fonctionne pas mais le reste de la macro.

Il faut redonner toutes les informations à chaque fois sinon on ne peut pas adapter la réponse

à la demande.

quand tu sélectionnes une cellule de la colonne A et que tu clic sur ADD.

Au moment de la Validation cela va insérer une ligne et pas ajouter une ligne ! il faut être précis

dans la demande.

Du coup si on regarde le code. avec les lignes supplémentaire on voit que :

Selection.ClearContents on efface les infos copier pour mettre ceux des textbox.

Et dans ce cas on n'a plus besoin de décaler la ligne puisqu'on est déjà sur la bonne ligne :

"Lig = Selection.Row + 1" devient donc "Lig = Selection.Row"

Bonjour

je suis désolé j'ai mal utilisé les mots , par contre :

Ton code m'insere une ligne en dessus et pas en dessous comme je veux .

Il garde toujours la couleur de la police des autre lignes de tableau .

merci d'avance

Bonjour DamienRRRR, le forum,

Salut Xmenpl

Un essai.....

Private Sub CommandButton1_Click()     ' ajouter en dessous
 Dim nb As Integer, i As Integer, Lig As Long
   If TextBox1.Value = "" Then
      MsgBox ("Vous ne pouvez laisser vide l'information ID ")
      Exit Sub
   Else
       If MsgBox("confirmez vous l'ajout du docuement ?", vbYesNo, "Confirmation") = vbYes Then
        Rows(ActiveCell.Row + 1).EntireRow.Insert
        Lig = ActiveCell.Row + 1
        Cells(Lig, 1) = TextBox1.Value: Cells(Lig, 1).Font.ColorIndex = 1: Cells(Lig, 1).Interior.Color = xlNone
        Cells(Lig, 2) = TextBox2.Value: Cells(Lig, 2).Font.ColorIndex = 1: Cells(Lig, 2).Interior.Color = xlNone
        Cells(Lig, 3) = TextBox3.Value: Cells(Lig, 3).Font.ColorIndex = 1: Cells(Lig, 3).Interior.Color = xlNone
        Cells(Lig, 4) = TextBox4.Value: Cells(Lig, 4).Font.ColorIndex = 1: Cells(Lig, 4).Interior.Color = xlNone
       End If
   End If
End Sub
3ajout-ligne.xlsm (23.48 Ko)

Cordialement,

Bonjour DamienRRRR, le forum,

Salut Xmenpl

Un essai.....

Private Sub CommandButton1_Click()     ' ajouter en dessous
 Dim nb As Integer, i As Integer, Lig As Long
   If TextBox1.Value = "" Then
      MsgBox ("Vous ne pouvez laisser vide l'information ID ")
      Exit Sub
   Else
       If MsgBox("confirmez vous l'ajout du docuement ?", vbYesNo, "Confirmation") = vbYes Then
        Rows(ActiveCell.Row + 1).EntireRow.Insert
        Lig = ActiveCell.Row + 1
        Cells(Lig, 1) = TextBox1.Value: Cells(Lig, 1).Font.ColorIndex = 1: Cells(Lig, 1).Interior.Color = xlNone
        Cells(Lig, 2) = TextBox2.Value: Cells(Lig, 2).Font.ColorIndex = 1: Cells(Lig, 2).Interior.Color = xlNone
        Cells(Lig, 3) = TextBox3.Value: Cells(Lig, 3).Font.ColorIndex = 1: Cells(Lig, 3).Interior.Color = xlNone
        Cells(Lig, 4) = TextBox4.Value: Cells(Lig, 4).Font.ColorIndex = 1: Cells(Lig, 4).Interior.Color = xlNone
       End If
   End If
End Sub

AJOUT LIGNE.xlsm

Cordialement,

Bonjour

super ça marche bien, il reste juste un dernier detail, quand il me rajoute la ligne j'aurais aimé que le font de la ligne sera gardé et qui sera similaire au autres lignes de tableau ?

a tu une idée stp ?

super ca marche bien merci merci merci

Bonjour DamienRRRR, xorsankukai et le forum

Et comme cela

Private Sub CommandButton1_Click() ' ajouter en dessous

Dim nb As Integer, i As Integer, Lig As Long

If TextBox1.Value = "" Then

MsgBox ("Vous ne pouvez laisser vide l'information ID ")

Exit Sub

Else

If MsgBox("confirmez vous l'ajout du docuement ?", vbYesNo, "Confirmation") = vbYes Then

Rows(ActiveCell.Row + 1).EntireRow.Insert

Lig = ActiveCell.Row + 1

Cells(Lig, 1) = TextBox1.Value

Cells(Lig, 2) = TextBox2.Value

Cells(Lig, 3) = TextBox3.Value

Cells(Lig, 4) = TextBox4.Value

End If

End If

End Sub

Bonne continuation

Ferdinand

Re,

quand il me rajoute la ligne j'aurais aimé que le font de la ligne sera gardé et qui sera similaire au autres lignes de tableau ?

Dans cette ligne de code:

Cells(Lig, 1) = TextBox1.Value: Cells(Lig, 1).Font.ColorIndex = 1: Cells(Lig, 1).Interior.Color = xlNone
: Cells(Lig, 1).Font.ColorIndex = 1  'couleur de la police en noir
: Cells(Lig, 1).Interior.Color = xlNone 'aucune couleur dans la cellule -à supprimer dans ton cas 
Private Sub CommandButton1_Click()     ' ajouter en dessous
 Dim nb As Integer, i As Integer, Lig As Long
   If TextBox1.Value = "" Then
      MsgBox ("Vous ne pouvez laisser vide l'information ID ")
      Exit Sub
   Else
       If MsgBox("confirmez vous l'ajout du docuement ?", vbYesNo, "Confirmation") = vbYes Then
        Rows(ActiveCell.Row + 1).EntireRow.Insert
        Lig = ActiveCell.Row + 1
        Cells(Lig, 1) = TextBox1.Value: Cells(Lig, 1).Font.ColorIndex = 1
        Cells(Lig, 2) = TextBox2.Value: Cells(Lig, 2).Font.ColorIndex = 1
        Cells(Lig, 3) = TextBox3.Value: Cells(Lig, 3).Font.ColorIndex = 1
        Cells(Lig, 4) = TextBox4.Value: Cells(Lig, 4).Font.ColorIndex = 1
       End If
   End If
End Sub

Cordialement,

Re,

quand il me rajoute la ligne j'aurais aimé que le font de la ligne sera gardé et qui sera similaire au autres lignes de tableau ?

Dans cette ligne de code:

Cells(Lig, 1) = TextBox1.Value: Cells(Lig, 1).Font.ColorIndex = 1: Cells(Lig, 1).Interior.Color = xlNone
: Cells(Lig, 1).Font.ColorIndex = 1  'couleur de la police en noir
: Cells(Lig, 1).Interior.Color = xlNone 'aucune couleur dans la cellule -à supprimer dans ton cas 
Private Sub CommandButton1_Click()     ' ajouter en dessous
 Dim nb As Integer, i As Integer, Lig As Long
   If TextBox1.Value = "" Then
      MsgBox ("Vous ne pouvez laisser vide l'information ID ")
      Exit Sub
   Else
       If MsgBox("confirmez vous l'ajout du docuement ?", vbYesNo, "Confirmation") = vbYes Then
        Rows(ActiveCell.Row + 1).EntireRow.Insert
        Lig = ActiveCell.Row + 1
        Cells(Lig, 1) = TextBox1.Value: Cells(Lig, 1).Font.ColorIndex = 1
        Cells(Lig, 2) = TextBox2.Value: Cells(Lig, 2).Font.ColorIndex = 1
        Cells(Lig, 3) = TextBox3.Value: Cells(Lig, 3).Font.ColorIndex = 1
        Cells(Lig, 4) = TextBox4.Value: Cells(Lig, 4).Font.ColorIndex = 1
       End If
   End If
End Sub

Cordialement,

Bonjour

super ça marche trés bien,

j'ai rajouté une performance sur mon user forme . j'ai juste un probleme sur la partie modifier

un bouton aller : pour chercher sur la colonne B les ID et de les me donner via une comobox. (marche bien)

un bouton ajouter pour ajouter une ligne (marche bien)

un boutton Modifier pour modifier le contenu d'une ligne tableau que je cherche via ma comobox.

l'objectif c'est quand l'utilisateur modifié un contenue je veux qu'il apparais avec une police Rouge

mais sur mon fichier actuel qui est en PJ quand je clic sur modifier il va mettre tous le contenue de la ligne en rouge, je voudrais faire un petite boucle if qui met en police rouge juste le contenu modifié.

avez vous une idée stp .

6test-update.xlsm (59.75 Ko)

Re,

j'ai rajouté une performance sur mon user forme . j'ai juste un probleme sur la partie modifier

un bouton aller : pour chercher sur la colonne B les ID et de les me donner via une comobox. (marche bien)

un bouton ajouter pour ajouter une ligne (marche bien)

un boutton Modifier pour modifier le contenu d'une ligne tableau que je cherche via ma comobox.

l'objectif c'est quand l'utilisateur modifié un contenue je veux qu'il apparais avec une police Rouge

Ça ne fonctionne pas chez moi....où je ne l'utilise pas correctement,

Lorsque je sélectionne la combobox de recherche, elle ne m'affiche rien, si je saisis l'ID, c'est OK, utilité de la combobox ?

Lorsque je veux ajouter un ID, ça plante.

J'ai tenté quelques modifs... ...à toi de voir

  • Alimentation du combobox en fonction de la colonne B (la saisie manuelle reste possible).
  • Pour la modif : si les valeurs des textbox diffèrent des valeurs des cellules, police rouge pour la cellule qui diffère (sinon noire).
  • Pour l'ajout: on teste si l'ID existe déjà pour éviter les doublons, ajout à la dernière ligne.

Le codage n'est pas optimisé mais semble fonctionnel....du moins chez moi,

A toi de tester....

Bonne soirée,

Rechercher des sujets similaires à "ajout ligne tableau"