Userform et colonne

Bonjour,

je souhaite remplir un tableau horizontalement et non verticalement avec un Userform.

donc ajouter une colonne à chaque validation .

ça fonctionne à moitié, le problème c'est que mes colonnes ne se décale pas et modifie la même entrée.

Private Sub inserer_Click()
Feuil1.Unprotect ("Password")

If MsgBox("confirmez-vous l'ajout des données?", vbYesNo, "confirmation") = vbYes Then
Worksheets("Feuil1").Select

[C2] = Lbldate.Value
[C4] = TextBox1.Value
[C5] = TextBox2.Value

Unload Stats
Else
End If
Feuil1.Protect ("Password")
End Sub

merci pour votre aide

Bonjour Maxxx62

Voici

Private Sub inserer_Click()
  Dim nCol As Long
  Feuil1.Unprotect ("Password")
  ' Si on répond non, on sort
  If MsgBox("confirmez-vous l'ajout des données?", _
    vbYesNo, "confirmation") = vbNo Then Exit Sub
  ' Sinon avec l'objet conteneur
  With Worksheets("Feuil1")
    ' Trouver la prochaine colonne vide
    nCol = .Cells(2, Columns.Count).End(xlToLeft).Column + 1
    .Cells(2, nCol) = Lbldate.Value
    .Cells(4, nCol) = TextBox1.Value
    .Cells(5, nCol) = TextBox2.Value
  End With
  'Unload Stats
  Unload Me
  Feuil1.Protect ("Password")
End Sub

A+

merci, et si je veux que la dernière entée soit toujours sur la colonne "C" .

(après réouverture du fichier plus aucunes entrées ne s'inscrit.

en fait ça s'inscrit à l'autre bout du fichier en colonne :"XFD" (erreur de ma part il y avait une entrée d'un test)) erreur de ma part

désolé de vous embêter.

je vous joints le fichier

4test-stats.xlsm (133.91 Ko)

Re,

Vous êtes sérieux là

Demande initiale "ça fonctionne à moitié, le problème c'est que mes colonnes ne se décale pas et modifie la même entrée.

Et maintenant

je veux que la dernière entée soit toujours sur la colonne "C" .

Quand vous saurez ce que vous voulez... revenez nous voir

vraiment désolé, en fait j'aimerai que ma dernière entrée soit visible en colonne C.

merci

Re,

Et les autres décalées vers la droite.. c'est ça

re, oui du coups , pour que la colonne ou se font les entrées soit toujours la "C" .

Re,

Dans ce cas, si j'ai bien compris

Private Sub inserer_Click()
  Dim nCol As Long
  Feuil1.Unprotect ("Password")
  ' Si on répond non, on sort
  If MsgBox("confirmez-vous l'ajout des données?", _
    vbYesNo, "confirmation") = vbNo Then Exit Sub
  ' Sinon avec l'objet conteneur
  With Worksheets("Feuil1")
    .Range("C1").EntireColumn.Insert Shift:=xlToRight
    .Range("C2") = Lbldate.Value
    .Range("C4") = TextBox1.Value
    .Range("C5") = TextBox2.Value
  End With
  'Unload Stats
  Unload Me
  Feuil1.Protect ("Password")
End Sub

A+

re, ça fonctionne très bien le seul hic, c'est que la taille colonne C se calque a la colonne B du coups la mise en page est pas terrible!

capture3

j'ai résolu le problème en commençant sur la colonne D, par contre niveau esthétique la colonne C reste vide.

Re,

Après remplissage des valeurs, Il faut rajouter

.Columns("C:C").AutoFit

super! tu es un As!

je ne veux pas abuser de ta patience, mais lors de l'insertion je perds les bordures des cellules, et en début de tableau j'avais ajouté un total des actions effectuées

(=Somme(C2:XDF2) ) or lors de l'ajout de donnée ma formule se transforme automatiquement comme ceci (=somme(D2:XDF2)) et si j'en rajoute une on passe à E2

du coups je perds des données.

une idée?

Pour la formule j'ai trouvé il suffisait de décalé à la cellule B.

me manque toujours les bordures pour plus d'esthétique

Rechercher des sujets similaires à "userform colonne"