Données d'un userform vers une autre feuille excel
Résolu/Fermé
fairway111
Messages postés
13
Date d'inscription
vendredi 26 février 2016
Statut
Membre
Dernière intervention
3 mars 2016
-
Modifié par jordane45 le 26/02/2016 à 10:36
fairway111 Messages postés 13 Date d'inscription vendredi 26 février 2016 Statut Membre Dernière intervention 3 mars 2016 - 26 févr. 2016 à 12:44
fairway111 Messages postés 13 Date d'inscription vendredi 26 février 2016 Statut Membre Dernière intervention 3 mars 2016 - 26 févr. 2016 à 12:44
A voir également:
- Données d'un userform vers une autre feuille excel
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Calculer une moyenne sur excel - Guide
- Si et excel - Guide
2 réponses
jordane45
Messages postés
38290
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2024
4 704
26 févr. 2016 à 10:35
26 févr. 2016 à 10:35
Bonjour,
Sheets("LBP").Rows("3:3").Select
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
26 févr. 2016 à 11:21
26 févr. 2016 à 11:21
Bonjour,
Bloc With...End With :
Bloc With...End With :
Private Sub CommandButton3_Click() With Sheets("LBP") .Rows("3:3").Insert Shift:=x1Down, CopyOrigin:=x1FormatFromLeftOrAbove .Range("A3").Value = ComboBox1 .Range("B3").Value = TextBox1 .Range("C3").Value = TextBox2 .Range("D3").Value = TextBox3 .Range("E3").Value = TextBox4 .Range("F3").Value = TextBox5 .Range("G3").Value = TextBox6 .Range("H3").Value = DTPicker1 .Range("I3").Value = TextBox8 .Range("J3").Value = ComboBox2 End With End Sub
fairway111
Messages postés
13
Date d'inscription
vendredi 26 février 2016
Statut
Membre
Dernière intervention
3 mars 2016
26 févr. 2016 à 11:28
26 févr. 2016 à 11:28
Merci beaucoup,
ça fonctionne exactement comme je voulais...trop bien !!
ça fonctionne exactement comme je voulais...trop bien !!
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
>
fairway111
Messages postés
13
Date d'inscription
vendredi 26 février 2016
Statut
Membre
Dernière intervention
3 mars 2016
26 févr. 2016 à 11:40
26 févr. 2016 à 11:40
Toujours prendre cette habitude, lorsque tu es sur un UserForm, de référencer les feuilles dans un bloc With...End With.
Deux raisons à cela :
> l'accessibilité à la feuille sans la sélectionner => fonctionne à coups sur (sauf protection)
> la facilité d'écriture du code.
Deux raisons à cela :
> l'accessibilité à la feuille sans la sélectionner => fonctionne à coups sur (sauf protection)
> la facilité d'écriture du code.
fairway111
Messages postés
13
Date d'inscription
vendredi 26 février 2016
Statut
Membre
Dernière intervention
3 mars 2016
>
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
26 févr. 2016 à 11:56
26 févr. 2016 à 11:56
Merci pour le conseil,
C'est vrai que ça simplifie le code sans mettre Sheets à chaque ligne et si je comprends bien ça embarque tous les codes se référant à la feuille dans un seul bloc?
Si j'abuse encore un peu , une fois validées les données, les champs du Userform1 restent remplis et j'aimerais qu'ils se vident
Si je mets ce code en plus:
Unload Userform1
Download Userform1
UserForm1.Show
Y a t'il une autre méthode?
C'est vrai que ça simplifie le code sans mettre Sheets à chaque ligne et si je comprends bien ça embarque tous les codes se référant à la feuille dans un seul bloc?
Si j'abuse encore un peu , une fois validées les données, les champs du Userform1 restent remplis et j'aimerais qu'ils se vident
Si je mets ce code en plus:
Unload Userform1
Download Userform1
UserForm1.Show
Y a t'il une autre méthode?
fairway111
Messages postés
13
Date d'inscription
vendredi 26 février 2016
Statut
Membre
Dernière intervention
3 mars 2016
26 févr. 2016 à 12:02
26 févr. 2016 à 12:02
Pardon, Load à la place de Dowload
ça fonctionne mais est ce la bonne méthode?
ça fonctionne mais est ce la bonne méthode?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
>
fairway111
Messages postés
13
Date d'inscription
vendredi 26 février 2016
Statut
Membre
Dernière intervention
3 mars 2016
26 févr. 2016 à 12:06
26 févr. 2016 à 12:06
tous les codes se référant à la feuille dans un seul bloc?
Pas tous. Sont "rattachés" à la feuille uniquement les Range précédés d'un point. Les autres se réfèrent à la feuille active.
Exemple :
Avec l'habitude ça vient...
Y a t'il une autre méthode?
Oui.
Pour cela, j'ai l'habitude de passer par une fonction à part.
Dans ton exemple, avec les contrôles que tu nous indiques, cela donnerait :
Et donc, pour vider l'UserForm, tu n'as qu'à placer dans ton code, ou tu le souhaites :
Pas tous. Sont "rattachés" à la feuille uniquement les Range précédés d'un point. Les autres se réfèrent à la feuille active.
Exemple :
'on place la feuil1 comme feuille active Sheets("Feuil1").Select 'on fait référence à la Feuil2 dans le bloc With : With Sheets("Feuil2") 'avec un point devant : on agit sur la Feuil2 .Range("A1") = 18 'sans le point on agit sur la feuille active : Feuil1 Range("A2") = 13 End With
Avec l'habitude ça vient...
Y a t'il une autre méthode?
Oui.
Pour cela, j'ai l'habitude de passer par une fonction à part.
Dans ton exemple, avec les contrôles que tu nous indiques, cela donnerait :
Sub Vide_Controles() ComboBox1.ListIndex = 0 TextBox1.Value = "" TextBox2.Value = "" TextBox3.Value = "" TextBox4.Value = "" TextBox5.Value = "" TextBox6.Value = "" DTPicker1 = Date 'remet par défaut la date du jour TextBox8.Value = "" ComboBox2.ListIndex = 0 End Sub
Et donc, pour vider l'UserForm, tu n'as qu'à placer dans ton code, ou tu le souhaites :
Call Vide_Controles
26 févr. 2016 à 10:42
"La méthode Select de la classe Range a échoué" !!