Première cellule vide sous condition option button

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 n'arrive pas à trouver la bonne formule pour rechercher le placement de la dernière cellule vide sous conbditions (optionbutton)

Aidez-moi svp



PS: je n'arrive pas à mettre mon projet en pièce jointe


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


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

14 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Te voilà dans la bonne section, mais tu n'as pas répondu à :
Mon petit doigt (ce coquin) me dit que :

sous conbditions (optionbutton)


correspond à ta variable sel, dans ton autre discussion, laissée sans suite.
Est-ce le cas ?

Pourquoi ?
____________________
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

ce n'est pas le cas. L'histoire de la variable sel c'etait pour une modification de ligne de la feuille de calcul par le biais d'un formulaire.

La question actuel concerne mon problème de tranfert des données vers la feuille excel sachant que quand je rempli le formulaire une 2nde fois et que je l'enregistre, ce dernier écrase la première ligne de saisie enregistrée dans la feuille de calcul


Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Et en gros et pour résumer ?
Tu cherches quoi ? le n° de ligne de la dernière colonne remplie d'une colonne connue d'une feuille connue de ton classeur ?
Si c'est cela : quelle utilité de parler d'un optionButton ?
Précise donc, s'il te plait.
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
... n° de ligne de la dernière colonne cellule remplie ...


____________________
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

comment fait-on pour mettre une pièce jointe ? je penses que vous comprendrez mieux avec mon projet.

J'ai 7 optionbutton et chaque option button a son emplacement d'enregistrement dans un tableau de programmation des routes. (Enduit, RCT, ECF, preparation partielle, générale,+2) et je souhaiterais que les données soit bien rapatriées a l'enregistrement par la commandbutton


Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Ce qui est clair doit pouvoir être exprimé clairement, précisément et simplement.
Même si tu pouvais "déposer" ton fichier, nombreux (dont moi) seraient peu disposés à l'ouvrir (raisons de sécurité, entre autres).
J'ai 7 optionbutton et chaque option button a son emplacement d'enregistrement dans un tableau de programmation des routes

Expose cela avec exactitude !
- où sont tes optionbuttons ?
- qu'entends-tu exactement par "emplacement d'enregistrement" ?
- qu'est exactement ton "tableau d'enregistrement des routes" ? Une feuille de calcul ? une plage dédiée ? un autre objet (et lequel) ?
Voilà le genre de choses que tu dois savoir exposer, ainsi que tout le reste qu'il est nécessaire de savoir (ce que tu as, ce que tu veux en faire, etc ...)
Regarde le fossé (l'abîme) qui sépare déjà ton premier message, à savoir :
Bonjour je n'arrive pas à trouver la bonne formule pour rechercher le placement de la dernière cellule vide sous conbditions (optionbutton)

et ce que tu nous dis maintenant (et seulement après que l'on t'a demandé de préciser)
C'est dommage, non ?
____________________
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

en cliquant dans l'optionbutton 1, je veux pouvoir placer les données du formulaire userform dans la feuille de calcul "Programme" en ligne 17 dans leur colonne respective.

Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
tu continuies ...
Et on doit bien évidemment deviner dans quels contrôles se trouvent tes données sur ton userform et comment tu détermine leur "ligne respective" dans la colonne 17 ?

Tiens ! Malgré toutes ces imprécisions, je vais te faire une réponse judicieuse en te laissant le soin de "tilter" un peu (car je vais maintenant t'abandonner) :
Utilise intelligemment la propriété Tag

____________________
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

Voici mon code

If UserForm1.OptionButton1.Value = True Then

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

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 = VTonnage
Range("Programme!C1").Value = ComboBox1.Value
Range("Programme!D4").Value = ComboBox16.Value


End If

Il fonctionne mais quand je refais une saisie dans mon userform et que je choisis l'option button 1 encore benh la saisie précédente est écrasée au lieu de s'afficher sous la précédente

Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Dit plus haut, donc :
Et en gros et pour résumer ?
Tu cherches quoi ? le n° de ligne de la dernière colonne remplie d'une colonne connue d'une feuille connue de ton classeur ?
Si c'est cela : quelle utilité de parler d'un optionButton ?
Précise donc, s'il te plait.


Tu comprends maintenant pourquoi je t'abandonne net là ?


____________________
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

je cherche le bon code qui permet de passer à, la ligne 18 si la 17 est déjà rempli en faite

Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011

aidez moi svp. ça fait 1 mois que je suis sur ce projet et je dois le remettre avant midi c'est le seul souci qu'il me reste à régler. je taf avec office 2003

Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011

Bonjour j'attends touyjours de l'aide sur la finalisation de mon projet.

Je n'arrives pas à faire changer de ligne automatiquement ma feuille de clacul si la ligne active est pleine.

Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011

Voilà j'ai fais de façon à pouvoir m'y retrouver dans mes actions mais cela ne résoud pas mon passage a la ligne suivante si ligne pleine.

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'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 = 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 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 = 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]



merci d'avance pour votre aide

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