Comment verrouiller une Userform

jimmy1120112

XLDnaute Nouveau
Bonjour,

Je ne sait pas comment chercher ce que je veut, sa peut paraitre bête mais...

En faite je veut verrouiller des Textbox dans une userform, plus de détails :

codes du bouton "Valider" de la userform :

Private Sub Valider_Click()
IntLigne = ActiveSheet.Cells(2, 1).End(xlDown).Row + 1
Dim Lg As String
'La ligne dans laquelle sont ajoutées les valeurs est définie par la TextBox1
Lg = Sheets("Liste des clients").Cells(65536, 1).End(xlUp).Row + 1
'texte des cases
Sheets("Liste des clients").Cells(Lg, "A").Value = Nouveauxclients.TextBox1.Value
Sheets("Liste des clients").Cells(Lg, "B").Value = Nouveauxclients.TextBox2.Value
Sheets("Liste des clients").Cells(Lg, "C").Value = Nouveauxclients.TextBox3.Value
Sheets("Liste des clients").Cells(Lg, "D").Value = Nouveauxclients.TextBox4.Value
Sheets("Liste des clients").Cells(Lg, "E").Value = Nouveauxclients.TextBox5.Value
Sheets("Liste des clients").Cells(Lg, "F").Value = Nouveauxclients.TextBox6.Value
Sheets("Liste des clients").Cells(Lg, "G").Value = Nouveauxclients.TextBox7.Value
Sheets("Liste des clients").Cells(Lg, "H").Value = Nouveauxclients.TextBox8.Value
Sheets("Liste des clients").Cells(Lg, "I").Value = Nouveauxclients.TextBox9.Value
Sheets("Liste des clients").Cells(Lg, "J").Value = Nouveauxclients.TextBox10.Value
Sheets("Liste des clients").Cells(Lg, "K").Value = Nouveauxclients.TextBox11.Value
Sheets("Liste des clients").Cells(Lg, "L").Value = Nouveauxclients.TextBox12.Value
Sheets("Liste des clients").Cells(Lg, "M").Value = Nouveauxclients.TextBox13.Value
Sheets("Liste des clients").Cells(Lg, "N").Value = Nouveauxclients.TextBox14.Value
Sheets("Liste des clients").Cells(Lg, "O").Value = Nouveauxclients.TextBox15.Value
Sheets("Liste des clients").Cells(Lg, "P").Value = Nouveauxclients.TextBox16.Value
Unload Me
End Sub

Je veut que tan que les textbox de 1 a 15 ne sont pas remplie le bouton "Valider" n'exécute pas la copie vert la feuil excel et ouvre une fenêtre avertissant que tous les champs ne son pas remplie. Mais une fois remplie elle fait sont travaille normale.
Ses un peut comme une condition, ou :confused: je ses pas quoi.

si vous avez pas compris hésiter pas a me le dire ;)

Merci
 
Dernière édition:

tbft

XLDnaute Accro
Re : Comment verrouiller une Userform

Bonjour tout le monde

essaye avec
Sheets("Liste des clients").Cells(3, "B").Value = Nouveauxclients.TextBox1.Value
ou avec
Sheets("Liste des clients").Range("B3").Value = Nouveauxclients.TextBox1.Value
 

jimmy1120112

XLDnaute Nouveau
Re : Comment verrouiller une Userform

Génial ! sa roule comme sur des roulette ;)

Merci

au cour de ma journée j'ai eu des onglets a mettre en page ses a dire, supprimer 1 colone et 5 ligne sur 286 onglet (Sheet).

j'ai trouver sa :

VB:
Sub sup()

Range("1:5").Select
Selection.EntireRow.Delete

If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft

End Sub

Sa aide beaucoup je fait ctrl+d et hop, mais je voudrai que je me mette sur le premier onglet et que je fasse 1 fois ctrl+d et que sa le fasse pour tous les autres onglets restants.

ses possible ?
J'ai essayer sa :

VB:
Sub sup()

Range("1:5").Select
Selection.EntireRow.Delete

If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft

Next s et Next Sheet

End Sub

Mais il me dit :

Erreur de compilation :
Next sans for

et en me surlignant en jaune : Sub sup()

je ne comprend pas la liaison.
 

tbft

XLDnaute Accro
Re : Comment verrouiller une Userform

bonsoir

je pense que cela vient de
VB:
 Next s et Next Sheet

pour utiliser une boucle for qui parcourt les foilos, il faut
VB:
For Each folio in worksheets
  'liste des instructions
Next folio
Par exemple, pour acceder a la cellule A1 il faudrat écrire
VB:
 folio.range("A1").value
 

jimmy1120112

XLDnaute Nouveau
Re : Comment verrouiller une Userform

j'aime bien la sa se corse ! et ses la que je comprend pas :D

j'ai pas bien compris, mais je vais bidouiller sa de mon coter et je vous dis se qu'il en est.

a tout a l'heure.

Edit :

j'ai fait :

VB:
Sub sup()
For Each folio In Worksheets
  Range("1:5").Select
Selection.EntireRow.Delete

If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft

Next folio

End Sub

Mais on dirait qu'il fait l'action sur le même onglet, il n'en change pas. Sa fait que tout l'onglet est vide mais les autre n'ont pas bouger.

et si je met
VB:
 folio.range("A1").value
il me met la ligne en jaune.
 
Dernière édition:

jimmy1120112

XLDnaute Nouveau
Re : Comment verrouiller une Userform

Je vien de faire une tambouille maison :D

j'ai pris sa :

VB:
Sub consolide_onglets()
 Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
 For s = 2 To Sheets.Count
   Range(Sheets(s).[A2], Sheets(s).[A65000].End(xlUp).End(xlToRight)).Copy _
     [A65000].End(xlUp).Offset(1, 0)
 Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

et j'ai fait sa :

VB:
Sub sup()
 Sheets("base").[A1].CurrentRegion.Offset(1, 0).Clear
 For s = 2 To Sheets.Count
 Range("1:5").Select
 Selection.EntireRow.Delete
 If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft
 Next s
On Error Resume Next
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

sauf que sa reviens au même, il veut pas changer d'onglet !

Merci
 
Dernière édition:

tbft

XLDnaute Accro
Re : Comment verrouiller une Userform

Bonjour

peut être en écrivant cela:

VB:
Sub sup()
  For Each folio In Worksheets
    folio.acivate                    ' pour changer de folio actif
    Range("1:5").Select
    Selection.EntireRow.Delete
    If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft
  Next folio
End Sub

Ou avec celui ci
VB:
Sub sup()
  For Each folio In Worksheets
    folio.Range("1:5").Delete
    If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft
  Next folio
End Sub
 

jimmy1120112

XLDnaute Nouveau
Re : Comment verrouiller une Userform

Bonjour,

Halalalala ses pire qu'un casse tête chinois !

maintenant ses bon :

VB:
Sub sup()
  For Each folio In Worksheets
    folio.Range("1:5").Delete
    If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft
  Next folio
End Sub

mais il prend pas en compte la 4eme ligne :

VB:
    If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft

il supprime a la chaine les 5 ligne mais pas la colonne.

J'ai essayer de la faire indépendamment et il veut pas changer d'onglet :

VB:
Sub sup()
 For Each folio In Worksheets
 If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft
 Next folio
End Sub

Sa commence a me plaire cette histoire pour restez polit. :p

Merci a toi de m'aidez en tout cas.

Cordialement
 
Dernière édition:

jimmy1120112

XLDnaute Nouveau
Re : Comment verrouiller une Userform

hé bien pour ma part, je sais pas :D

mais en tout les cas avec ou sans le :


VB:
If -0.0001 <= Cells(1) <= 0.0001 Then

sa reviens au même que :

VB:
Sub sup()
For Each folio In Worksheets
  Range("1:5").Select
Selection.EntireRow.Delete

If -0.0001 <= Cells(1) <= 0.0001 Then Columns(1).Delete Shift:=xlToLeft

Next folio

End Sub

Merci a vous
 

tbft

XLDnaute Accro
Re : Comment verrouiller une Userform

Re

il faut preciser folio devant cells range columns sinon il travail sur la feuille active

vba Code:
VB:
Sub sup()
 For Each folio In Worksheets
 If -0.0001 <= folio.Cells(1) <= 0.0001 Then folio.Columns(1).Delete Shift:=xlToLeft
 Next folio
End Sub
 

jimmy1120112

XLDnaute Nouveau
Re : Comment verrouiller une Userform

tbft, merci pour la précision.

petite modif :

VB:
Sub sup()
 For Each folio In Worksheets
 folio.Range("1:5").Delete
 If -0.0001 <= folio.Cells(1) <= 0.0001 Then folio.Columns(1).Delete Shift:=xlToLeft
 Next folio
End Sub

Ouf enfin :rolleyes: on y est !

sa me soulage quand je vois que j'ai une trentaines de classeur a traiter de la même façons, la 1 raccourci ctrl+d et tout le classeur est mis en page.

Merci beaucoup

Je reviens si j'ai un autre petit truck ;)
 

tototiti2008

XLDnaute Barbatruc
Re : Comment verrouiller une Userform

Re,

Je ne sais pas si c'est ça, mais bon
admettons que tu veuilles supprimer les 5 premières lignes de chaque feuille, puis que si A1 (qui était A6 avant la suppression des lignes) contient un nombre entre -0,0001 et 0,0001 tu veuilles supprimer toute la colonne A, je pense qu'il faudrait un truc comme ça, en me basant sur la proposition de tbft :

Code:
[FONT=monospace][COLOR=#0000fc]Sub[/COLOR] sup()[/FONT]
[FONT=monospace]Dim folio as worksheet
 [COLOR=#0000fc]For[/COLOR] [COLOR=#0000fc]Each[/COLOR] folio [COLOR=#0000fc]In[/COLOR] Thisworkbook.Worksheets[/FONT]
[FONT=monospace]folio.range("A1:A5").entirerow.Delete
 [COLOR=#0000fc]If[/COLOR] -0.0001 <= folio.Range("A1").value and folio.Range("A1").value <= 0.0001 [COLOR=#0000fc]Then[/COLOR] folio.Columns(1).Delete Shift:=xlToLeft
 [COLOR=#0000fc]Next[/COLOR] folio
[COLOR=#0000fc]End[/COLOR] [COLOR=#0000fc]Sub[/COLOR][/FONT]
 

jimmy1120112

XLDnaute Nouveau
Re : Comment verrouiller une Userform

Bonjour,

Est-ce qu'il est possible de faire une userforme avec des textbox et que au lieux que sa cop


Edit:
Erreur retrouver, ses quand j'ai actualiser la page avec Firefox, sa viens de me le re-faire sur un autre site.

Bonne jounée
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 848
Membres
103 974
dernier inscrit
chmikha