Problème de passage à la ligne suivant si ligne pleine et de réouverture de user

Signaler
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011
-
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011
-
Bonjour je suis un apprenti ingenieur en collectivité territoriale et j'ai du mal à finaliser mon programme à cause d'un blem de passage a la prochaine ligne vide et de modification de données d'un tableau excel via vb.

-code passage a la ligne vide selon optionbutton

Private Sub CommandButton2_Click()
ActiveSheet.Unprotect ("Programme")


' Si l'userform vient d'être ouvert la ligne ci-après considère que la commande
' Validation a été cliqué par erreur
If Left(ComboBox22, 8) = "Veuillez" Then Exit Sub
On Error Resume Next
' La ligne ci-dessous évite de répéter Worksheets("fichier")
With Worksheets("Programme")
' mise en forme des cellules car j'ai remarqué que si cette feuille
' fin de la mise en forme et on ferme la foncion de départ With Worksheets("fichier")
End With


' Et on revient sur la page d'accueil
Sheets("fichier").Select
MsgBox "Transfert terminé...Réinitialisation..."
' les textbox sont réinitialisées

Dim ctl As Control

For Each ctl In UF2.Controls
Select Case TypeName(ctl)
Case "Textbox", "Combobox":
ctl.Value = ""
End Select

Next ctl

If UserForm1.OptionButton1.Value = True Then

Range("C17").End(xlDown).Select
ActiveCell.Offset(1, 0).Activate

Range("Programme!C17" & i).Value = TextBox1.Value
Range("Programme!E17" & i).Value = TextBox2.Value
Range("Programme!F17" & i).Value = TextBox3.Value
Range("Programme!G17" & i).Value = TextBox27.Value
Range("Programme!J17" & i).Value = ComboBox6.Value
Range("Programme!K17" & i).Value = TextBox5.Value
Range("Programme!L17" & i).Value = TextBox6.Value
Range("Programme!I17" & i).Value = TextBox13.Value
Range("Programme!N17" & i).Value = TextBox7.Value
Range("Programme!H17" & i).Value = TextBox28.Value
Range("Programme!M17" & i).Value = TextBox14.Value
Range("Programme!D17" & i).Value = ComboBox22.Value
Range("Programme!O17" & i).Value = TextBox8.Value
Range("Programme!P17" & i).Value = TextBox9.Value
Range("Programme!R17" & i).Value = TextBox24.Value
Range("Programme!S17" & i).Value = TextBox25.Value
Range("Programme!T17" & i).Value = TextBox26.Value
Range("Programme!V17" & i).Value = ComboBox20.Value
Range("Programme!W17" & i).Value = ComboBox21.Value
Range("Programme!Q17" & i).Value = TextBox29.Value
Range("Programme!C1").Value = ComboBox1.Value
Range("Programme!D4").Value = ComboBox16.Value


End If


If UserForm1.OptionButton2.Value = True Then

Range("C30").End(xlDown).Select
Range("C30").End(xlDown).Offset(1, 0).Select

Range("Programme!C30" & i).Value = TextBox1.Value
Range("Programme!E30" & i).Value = TextBox2.Value
Range("Programme!F30" & i).Value = TextBox3.Value
Range("Programme!G30" & i).Value = TextBox27.Value
Range("Programme!J30" & i).Value = ComboBox6.Value
Range("Programme!K30" & i).Value = TextBox5.Value
Range("Programme!L30" & i).Value = TextBox6.Value
Range("Programme!I30" & i).Value = TextBox13.Value
Range("Programme!N30" & i).Value = TextBox7.Value
Range("Programme!H30" & i).Value = TextBox28.Value
Range("Programme!M30" & i).Value = TextBox14.Value
Range("Programme!D30" & i).Value = ComboBox22.Value
Range("Programme!O30" & i).Value = TextBox8.Value
Range("Programme!P30" & i).Value = TextBox9.Value
Range("Programme!R30" & i).Value = TextBox24.Value
Range("Programme!S30" & i).Value = TextBox25.Value
Range("Programme!T30" & i).Value = TextBox26.Value
Range("Programme!V30" & i).Value = ComboBox20.Value
Range("Programme!W30" & i).Value = ComboBox21.Value
Range("Programme!Q30" & i).Value = TextBox29.Value
Range("Programme!C1").Value = ComboBox1.Value
Range("Programme!D4").Value = ComboBox16.Value


End If

If UserForm1.OptionButton3.Value = True Then

Range("C22").End(xlDown).Select
Range("C22").End(xlDown).Offset(1, 0).Select

Range("Programme!C22" & i).Value = TextBox1.Value
Range("Programme!E22" & i).Value = TextBox2.Value
Range("Programme!F22" & i).Value = TextBox3.Value
Range("Programme!G22" & i).Value = TextBox27.Value
Range("Programme!J22" & i).Value = ComboBox6.Value
Range("Programme!K22" & i).Value = TextBox5.Value
Range("Programme!L22" & i).Value = TextBox6.Value
Range("Programme!I22" & i).Value = TextBox13.Value
Range("Programme!N22" & i).Value = TextBox7.Value
Range("Programme!H22" & i).Value = TextBox28.Value
Range("Programme!M22" & i).Value = TextBox14.Value
Range("Programme!D22" & i).Value = ComboBox22.Value
Range("Programme!O22" & i).Value = TextBox8.Value
Range("Programme!P22" & i).Value = TextBox9.Value
Range("Programme!R22" & i).Value = TextBox24.Value
Range("Programme!S22" & i).Value = TextBox25.Value
Range("Programme!T22" & i).Value = TextBox26.Value
Range("Programme!V22" & i).Value = ComboBox20.Value
Range("Programme!W22" & i).Value = ComboBox21.Value
Range("Programme!Q22" & i).Value = TextBox29.Value
Range("Programme!C1").Value = ComboBox1.Value
Range("Programme!D4").Value = ComboBox16.Value
End If

If UserForm1.OptionButton4.Value = True Then

Range("C57").End(xlDown).Select
Range("C57").End(xlDown).Offset(1, 0).Select

Range("Programme!C57" & i).Value = TextBox1.Value
Range("Programme!E57" & i).Value = TextBox2.Value
Range("Programme!F57" & i).Value = TextBox3.Value
Range("Programme!G57" & i).Value = TextBox27.Value
Range("Programme!J57" & i).Value = ComboBox6.Value
Range("Programme!K57" & i).Value = TextBox5.Value
Range("Programme!L57" & i).Value = TextBox6.Value
Range("Programme!I57" & i).Value = TextBox13.Value
Range("Programme!N57" & i).Value = TextBox7.Value
Range("Programme!H57" & i).Value = TextBox28.Value
Range("Programme!M57" & i).Value = TextBox14.Value
Range("Programme!D57" & i).Value = ComboBox22.Value
Range("Programme!O57" & i).Value = TextBox8.Value
Range("Programme!P57" & i).Value = TextBox9.Value
Range("Programme!R57" & i).Value = TextBox24.Value
Range("Programme!S57" & i).Value = TextBox25.Value
Range("Programme!T57" & i).Value = TextBox26.Value
Range("Programme!V57" & i).Value = ComboBox20.Value
Range("Programme!W57" & i).Value = ComboBox21.Value
Range("Programme!Q57" & i).Value = TextBox29.Value
Range("Programme!C1").Value = ComboBox1.Value
Range("Programme!D4").Value = ComboBox16.Value
End If

If UserForm1.OptionButton5.Value = True Then

Range("C41").End(xlDown).Select
i = Cells(ActiveSheet.Cells(17, 3).End(xlDown).Row + 1, 3).Select



Range("Programme!C41" & i).Value = TextBox1.Value
Range("Programme!E41" & i).Value = TextBox2.Value
Range("Programme!F41" & i).Value = TextBox3.Value
Range("Programme!G41" & i).Value = TextBox27.Value
Range("Programme!J41" & i).Value = ComboBox6.Value
Range("Programme!K41" & i).Value = TextBox5.Value
Range("Programme!L41" & i).Value = TextBox6.Value
Range("Programme!I41" & i).Value = TextBox13.Value
Range("Programme!N41" & i).Value = TextBox7.Value
Range("Programme!H41" & i).Value = TextBox28.Value
Range("Programme!M41" & i).Value = TextBox14.Value
Range("Programme!D41" & i).Value = ComboBox22.Value
Range("Programme!O41" & i).Value = TextBox8.Value
Range("Programme!P41" & i).Value = TextBox9.Value
Range("Programme!V41" & i).Value = ComboBox20.Value
Range("Programme!W41" & i).Value = ComboBox21.Value
Range("Programme!Q41" & i).Value = TextBox29.Value
Range("Programme!C1").Value = ComboBox1.Value
Range("Programme!D4").Value = ComboBox16.Value
End If

If UserForm1.OptionButton6.Value = True Then

Range("C47").End(xlDown).Select
Range("C47").End(xlDown).Offset(1, 0).Select

Range("Programme!C47" & i).Value = TextBox1.Value
Range("Programme!E47" & i).Value = TextBox2.Value
Range("Programme!F47" & i).Value = TextBox3.Value
Range("Programme!G47" & i).Value = TextBox27.Value
Range("Programme!J47" & i).Value = ComboBox6.Value
Range("Programme!K47" & i).Value = TextBox5.Value
Range("Programme!L47" & i).Value = TextBox6.Value
Range("Programme!I47" & i).Value = TextBox13.Value
Range("Programme!N47" & i).Value = TextBox7.Value
Range("Programme!H47" & i).Value = TextBox28.Value
Range("Programme!M47" & i).Value = TextBox14.Value
Range("Programme!D47" & i).Value = ComboBox22.Value
Range("Programme!O47" & i).Value = TextBox8.Value
Range("Programme!P47" & i).Value = TextBox9.Value
Range("Programme!V47" & i).Value = ComboBox20.Value
Range("Programme!W47" & i).Value = ComboBox21.Value
Range("Programme!Q47" & i).Value = TextBox29.Value
Range("Programme!C1").Value = ComboBox1.Value
Range("Programme!D4").Value = ComboBox16.Value
End If

If UserForm1.OptionButton7.Value = True Then

Range("C67").End(xlDown).Select
Range("C67").End(xlDown).Offset(1, 0).Select

Range("Programme!C67" & i).Value = TextBox1.Value
Range("Programme!E67" & i).Value = TextBox2.Value
Range("Programme!F67" & i).Value = TextBox3.Value
Range("Programme!G67" & i).Value = TextBox27.Value
Range("Programme!J67" & i).Value = ComboBox6.Value
Range("Programme!K67" & i).Value = TextBox5.Value
Range("Programme!L67" & i).Value = TextBox6.Value
Range("Programme!I67" & i).Value = TextBox13.Value
Range("Programme!N67" & i).Value = TextBox7.Value
Range("Programme!H67" & i).Value = TextBox28.Value
Range("Programme!M67" & i).Value = TextBox14.Value
Range("Programme!D67" & i).Value = ComboBox22.Value
Range("Programme!O67" & i).Value = TextBox8.Value
Range("Programme!P67" & i).Value = TextBox9.Value
Range("Programme!R67" & i).Value = TextBox24.Value
Range("Programme!S67" & i).Value = TextBox25.Value
Range("Programme!T67" & i).Value = TextBox26.Value
Range("Programme!V67" & i).Value = ComboBox20.Value
Range("Programme!W67" & i).Value = ComboBox21.Value
Range("Programme!Q67" & i).Value = TextBox29.Value
Range("Programme!C1").Value = ComboBox1.Value
Range("Programme!D4").Value = ComboBox16.Value
End If
Unload Me
End Sub

Informatisez pour être moderne et suivre les futurs générations humaines !!!

3 réponses

Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
5
Bonjour,

Pourquoi ouvrir un nouveau post (dans la mauvaise catégorie, puisque tu es en vba et non vb6), alors que des membres ont déjà essayé de te répondre sur des précédents sujets?

Et quel est donc ce blem?tu as un message d'erreur??

PS : donnes des noms explicites à tes controles, parce que des textbox16 textbox17, difficile de s'y retrouver si tu dois modifier le code un peu plus tard. Et indentes ton code plus facile à lire.

PS 2 : Quand tu postes un code ici, merci d'utiliser la coloration syntaxique (3ème icone en partant de la fin)

L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Pourquoi ouvrir un nouveau post (dans la mauvaise catégorie, puisque tu es en vba et non vb6), alors que des membres ont déjà essayé de te répondre sur des précédents sujets?

Parce que c'est une question de comportement.
Un comportement qu'il abandonnera vite lorsqu'il comprendra les résultats qu'il engendre, je pense


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011

Private Sub CommandButton2_Click()

' Si l'userform vient d'être ouvert la ligne ci-après considère que la commande
' Validation a été cliqué par erreur If Left(ComboBox22, 8) = "Veuillez" Then Exit Sub
On Error Resume Next
' La ligne ci-dessous évite de répéter Worksheets("fichier")
With Worksheets("Programme")
' mise en forme des cellules car j'ai remarqué que si cette feuille
' fin de la mise en forme et on ferme la fonction de départ With Worksheets("fichier")End With

' Et on revient sur la page d'accueilSheets("fichier").Select
MsgBox "Transfert terminé...Réinitialisation..."
' les textbox sont réinitialisées
Dim ctl As Control

For Each ctl In UF2.Controls
Select Case TypeName(ctl)
Case "Textbox", "Combobox":
ctl.Value = ""
End Select

Next ctl
If UserForm1.OptionButton1.Value = True Then

Range("C17").End(xlDown).Select
ActiveCell.Offset(1, 0).Activate

Range("Programme!C17" & i).Value = RD.Value
Range("Programme!E17" & i).Value = PR1.Value
Range("Programme!F17" & i).Value = PR2.Value
Range("Programme!G17" & i).Value = PR3.Value
Range("Programme!J17" & i).Value = Nature_du_revêtement_en_place.Value
Range("Programme!K17" & i).Value = Année_de_sa_mise_en_oeuvre.Value
Range("Programme!L17" & i).Value = Tous_véh.Value
Range("Programme!I17" & i).Value = commune.Value
Range("Programme!N17" & i).Value = Longueur.Value
Range("Programme!H17" & i).Value = PR4.Value
Range("Programme!M17" & i).Value = PL.Value
Range("Programme!D17" & i).Value = Catégorie_RD.Value
Range("Programme!O17" & i).Value = Largeur_chaussée.Value
Range("Programme!P17" & i).Value = Surface.Value
Range("Programme!R17" & i).Value = Montant_marquage.Value
Range("Programme!S17" & i).Value = montant_tvx_prépa.Value
Range("Programme!T17" & i).Value = Montant_tvx.Value
Range("Programme!V17" & i).Value = Assise.Value
Range("Programme!W17" & i).Value = Couche_de_roulement.Value
Range("Programme!Q17" & i).Value = Tonnage_total.Value
Range("Programme!C1").Value = subdivision.Value
Range("Programme!D4").Value = canton.Value


End If

If UserForm1.OptionButton2.Value = True Then

Range("C30").End(xlDown).Select
Range("C30").End(xlDown).Offset(1, 0).Select

Range("Programme!C30" & i).Value = RD.Value
Range("Programme!E30" & i).Value = PR1.Value
Range("Programme!F30" & i).Value = PR2.Value
Range("Programme!G30" & i).Value = PR3.Value
Range("Programme!J30" & i).Value = Nature_du_revêtement_en_place.Value
Range("Programme!K30" & i).Value = Année_de_sa_mise_en_oeuvre.Value
Range("Programme!L30" & i).Value = Tous_véh.Value
Range("Programme!I30" & i).Value = commune.Value
Range("Programme!N30" & i).Value = Longueur.Value
Range("Programme!H30" & i).Value = PR4.Value
Range("Programme!M30" & i).Value = PL.Value
Range("Programme!D30" & i).Value = Catégorie_RD.Value
Range("Programme!O30" & i).Value = Largeur_chaussée.Value
Range("Programme!P30" & i).Value = Surface.Value
Range("Programme!R30" & i).Value = Montant_marquage.Value
Range("Programme!S30" & i).Value = montant_tvx_prépa.Value
Range("Programme!T30" & i).Value = Montant_tvx.Value
Range("Programme!V30" & i).Value = Assise.Value
Range("Programme!W30" & i).Value = Couche_de_roulement.Value
Range("Programme!Q30" & i).Value = Tonnage_total.Value
Range("Programme!C1").Value = subdivision.Value
Range("Programme!D4").Value = canton.Value


End IfIf UserForm1.OptionButton3.Value = True Then

Range("C22").End(xlDown).Select
Range("C22").End(xlDown).Offset(1, 0).Select

Range("Programme!C22" & i).Value = RD.Value
Range("Programme!E22" & i).Value = PR1.Value
Range("Programme!F22" & i).Value = PR2.Value
Range("Programme!G22" & i).Value = PR3.Value
Range("Programme!J22" & i).Value = Nature_du_revêtement_en_place.Value
Range("Programme!K22" & i).Value = Année_de_sa_mise_en_oeuvre.Value
Range("Programme!L22" & i).Value = Tous_véh.Value
Range("Programme!I22" & i).Value = commune.Value
Range("Programme!N22" & i).Value = Longueur.Value
Range("Programme!H22" & i).Value = PR4.Value
Range("Programme!M22" & i).Value = PL.Value
Range("Programme!D22" & i).Value = Catégorie_RD.Value
Range("Programme!O22" & i).Value = Largeur_chaussée.Value
Range("Programme!P22" & i).Value = Surface.Value
Range("Programme!R22" & i).Value = Montant_marquage.Value
Range("Programme!S22" & i).Value = montant_tvx_prépa.Value
Range("Programme!T22" & i).Value = Montant_tvx.Value
Range("Programme!V22" & i).Value = Assise.Value
Range("Programme!W22" & i).Value = Couche_de_roulement.Value
Range("Programme!Q22" & i).Value = Tonnage_total.Value
Range("Programme!C1").Value = subdivision.Value
Range("Programme!D4").Value = canton.Value
End If

If UserForm1.OptionButton4.Value = True Then

Range("C57").End(xlDown).Select
Range("C57").End(xlDown).Offset(1, 0).Select

Range("Programme!C57" & i).Value = RD.Value
Range("Programme!E57" & i).Value = PR1.Value
Range("Programme!F57" & i).Value = PR2.Value
Range("Programme!G57" & i).Value = PR3.Value
Range("Programme!J57" & i).Value = Nature_du_revêtement_en_place.Value
Range("Programme!K57" & i).Value = Année_de_sa_mise_en_oeuvre.Value
Range("Programme!L57" & i).Value = Tous_véh.Value
Range("Programme!I57" & i).Value = commune.Value
Range("Programme!N57" & i).Value = Longueur.Value
Range("Programme!H57" & i).Value = PR4.Value
Range("Programme!M57" & i).Value = PL.Value
Range("Programme!D57" & i).Value = Catégorie_RD.Value
Range("Programme!O57" & i).Value = Largeur_chaussée.Value
Range("Programme!P57" & i).Value = Surface.Value
Range("Programme!R57" & i).Value = Montant_marquage.Value
Range("Programme!S57" & i).Value = montant_tvx_prépa.Value
Range("Programme!T57" & i).Value = Montant_tvx.Value
Range("Programme!V57" & i).Value = Assise.Value
Range("Programme!W57" & i).Value = Couche_de_roulement.Value
Range("Programme!Q57" & i).Value = Tonnage_total.Value
Range("Programme!C1").Value = subdivision.Value
Range("Programme!D4").Value = canton.Value
End If

If UserForm1.OptionButton5.Value = True Then

Range("C41").End(xlDown).Select
i = Cells(ActiveSheet.Cells(17, 3).End(xlDown).Row + 1, 3).Select



Range("Programme!C41" & i).Value = RD.Value
Range("Programme!E41" & i).Value = PR1.Value
Range("Programme!F41" & i).Value = PR2.Value
Range("Programme!G41" & i).Value = PR3.Value
Range("Programme!J41" & i).Value = Nature_du_revêtement_en_place.Value
Range("Programme!K41" & i).Value = Année_de_sa_mise_en_oeuvre.Value
Range("Programme!L41" & i).Value = Tous_véh.Value
Range("Programme!I41" & i).Value = commune.Value
Range("Programme!N41" & i).Value = Longueur.Value
Range("Programme!H41" & i).Value = PR4.Value
Range("Programme!M41" & i).Value = PL.Value
Range("Programme!D41" & i).Value = Catégorie_RD.Value
Range("Programme!O41" & i).Value = Largeur_chaussée.Value
Range("Programme!P41" & i).Value = Surface.Value
Range("Programme!V41" & i).Value = Assise.Value
Range("Programme!W41" & i).Value = Couche_de_roulement.Value
Range("Programme!Q41" & i).Value = Tonnage_total.Value
Range("Programme!C1").Value = subdivision.Value
Range("Programme!D4").Value = canton.Value
End If

If UserForm1.OptionButton6.Value = True Then

Range("C47").End(xlDown).Select
Range("C47").End(xlDown).Offset(1, 0).Select

Range("Programme!C47" & i).Value = RD.Value
Range("Programme!E47" & i).Value = PR1.Value
Range("Programme!F47" & i).Value = PR2.Value
Range("Programme!G47" & i).Value = PR3.Value
Range("Programme!J47" & i).Value = Nature_du_revêtement_en_place.Value
Range("Programme!K47" & i).Value = Année_de_sa_mise_en_oeuvre.Value
Range("Programme!L47" & i).Value = Tous_véh.Value
Range("Programme!I47" & i).Value = commune.Value
Range("Programme!N47" & i).Value = Longueur.Value
Range("Programme!H47" & i).Value = PR4.Value
Range("Programme!M47" & i).Value = PL.Value
Range("Programme!D47" & i).Value = Catégorie_RD.Value
Range("Programme!O47" & i).Value = Largeur_chaussée.Value
Range("Programme!P47" & i).Value = Surface.Value
Range("Programme!V47" & i).Value = Assise.Value
Range("Programme!W47" & i).Value = Couche_de_roulement.Value
Range("Programme!Q47" & i).Value = Tonnage_total.Value
Range("Programme!C1").Value = subdivision.Value
Range("Programme!D4").Value = canton.Value
End If

If UserForm1.OptionButton7.Value = True Then

Range("C67").End(xlDown).Select
Range("C67").End(xlDown).Offset(1, 0).Select

Range("Programme!C67" & i).Value = RD.Value
Range("Programme!E67" & i).Value = PR1.Value
Range("Programme!F67" & i).Value = PR2.Value
Range("Programme!G67" & i).Value = PR3.Value
Range("Programme!J67" & i).Value = Nature_du_revêtement_en_place.Value
Range("Programme!K67" & i).Value = Année_de_sa_mise_en_oeuvre.Value
Range("Programme!L67" & i).Value = Tous_véh.Value
Range("Programme!I67" & i).Value = commune.Value
Range("Programme!N67" & i).Value = Longueur.Value
Range("Programme!H67" & i).Value = PR4.Value
Range("Programme!M67" & i).Value = PL.Value
Range("Programme!D67" & i).Value = Catégorie_RD.Value
Range("Programme!O67" & i).Value = Largeur_chaussée.Value
Range("Programme!P67" & i).Value = Surface.Value
Range("Programme!R67" & i).Value = Montant_marquage.Value
Range("Programme!S67" & i).Value = montant_tvx_prépa.Value
Range("Programme!T67" & i).Value = Montant_tvx.Value
Range("Programme!V67" & i).Value = Assise.Value
Range("Programme!W67" & i).Value = Couche_de_roulement.Value
Range("Programme!Q67" & i).Value = Tonnage_total.Value
Range("Programme!C1").Value = subdivision.Value
Range("Programme!D4").Value = canton.Value
End IfUnload Me
End Sub[code=vb]

Informatisez pour être moderne et suivre les futurs générations humaines !!!