Problème de transfert de données de saisie userform

Signaler
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011
-
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
-
Bonjour,
j'ai éffectué pas mal de recherche sur le net par rapport à la finalisation de mon projet de programmation d'intervention sur les routes en eure-et-loir.

Seul ic à chaque saisie la saisie précédente se fait écrasé au lieu de s'intégrer dans la prochaine ligne vide à partir de la colonne C.

Que faire ? Voici mon code

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 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).SelectActiveCell.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

Merci d'avance

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

7 réponses

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

A quoi est initialisée ta variable "i" dans les ligne :
Range("Programme!C17" & i......
En + je ne suis pas expert VBA, mais je doute fortement que la formulation soit correctement "C17" & i soit correcte.

PS : arrêtes d'ouvir des sujets récurrents pour le même problème alors que des membres essayent de t'aider sur tes autres topics, un petit up suffit à la limite..

L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011

benh justement pour la variable i j'ai tenté pas mal de formule mais sans résultat.

i = Worksheets("Programme").Range("C65536").End(xlUp).Row + 1

Quand je met cette valeur pour i, elle est envoyée en ligne 1767.


Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Regardes la fonction Offset des Range, tu auras toutes les infos dont tu as besoin.
Range("A1").Offset(...)

Sinon, un simple Do/Loop pour trouver la première case vide ne fonctionne pas ?

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011

J'ai essayé aussi le Do/Loop et cela ne fonctionne guère.

Je peut t'envoyer le fichier ?


Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Avec quel code tu as testé ?
Et quand tu dis que "ça ne fonctionne pas", ça veut dire quoi ?

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
23
Date d'inscription
vendredi 1 juillet 2011
Statut
Membre
Dernière intervention
3 août 2011

Benh que ça renvoi à des centaines de cases plus loin.


Informatisez pour être moderne et suivre les futurs générations humaines !!!
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Quel code tu as testé ?
C'est important pour comprendre.

ça veut peut être dire que les cases ne sont pas vides mais contiennes des données non affichées.

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site