bipbip059
Messages postés16Date d'inscriptiondimanche 10 septembre 2006StatutMembreDernière intervention 1 mars 2009
-
25 sept. 2006 à 21:19
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
30 sept. 2006 à 13:36
bonsoir à tous
Sur mon userform j'ai placé quatre textbox 1, 2, 3, et 4 suivant les valeurs de la textbox 1 j'aimerai soit transféré les valeurs sur la feuille 1 et 2 d'excel ou la feuille 2 et 3.
Un exemple pour mieux comprendre :
-Si la valeur de textbox 1 est du type FRE-GRT alors les valeurs respectivecs de la textbox2, textbox3 et textbox4 sont placées en colonnes A, B, C et D des feuilles 2 et 3 d'excel
- Si par contre la valeur de textbox 1 est du type 25146 alors les valeurs de la texbox2, textbox3, et la textbox4 sont placées en colonnes A, B, C et D des feuilles 1 et 2 d'excel.
cs_carvals
Messages postés50Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention23 janvier 2008 28 sept. 2006 à 08:03
salut,
deux solutions:
DerniereLigne = Sheets("Feuil1").Cells.Find("*", Sheets("Feuil1").Range("A1"), , , xlByRows, xlNext).Row + 1
car le xlprevious fait remonter le curseur d'ou la reecriture constante de ta cellule
sinon pour trouver la derniere ligne je prefere la methode:
derniereligne = sheets("feuil1").range("A65536").end(xlUp).row + 1
ca commencera a ecrire a partir de la ligne 2 en revanche
si tu utilise ca oublies la gestion d'erreur
bipbip059
Messages postés16Date d'inscriptiondimanche 10 septembre 2006StatutMembreDernière intervention 1 mars 2009 26 sept. 2006 à 19:45
bonsoir
comme promis j'ai testé le programme Pour la 1 ère feuille le seul soucis est que si la 1ère valeur de textbox 1 ce place sur la ligne A la seconde saisie écrase la première au lieu de se mettre à la suite
pour la seconde même pb sauf que ça bloque àla deuxième ligne et réécris dessus chaque saisie
Pour la troisième feuille il refuse d'écrire dessus - ne reconnait pas les lettres. il me mets erreur : DerniereLigne = Sheets("Feuil3").Cells.Find("*", Sheets("Feuil3").Range("A1"), , , xlByRows, xlPrevious).Row + 1
J'ai essayé de m'y penché mais mon manque d'expérience c'est très vite fais ressentir.("*" ??)
Vous n’avez pas trouvé la réponse que vous recherchez ?
bipbip059
Messages postés16Date d'inscriptiondimanche 10 septembre 2006StatutMembreDernière intervention 1 mars 2009 27 sept. 2006 à 07:53
bonjour
c'est ok pour le transfert sur les feuille 3 par contre pour les feuilles 1 et 2 j'ai le même pb, il transfert toujours sur la 1ère ligne d'excel pour la feuille 1 et pour la feuille 2, il bloque sur la ligne 2.(1ère saisie=ligne 1, 2e saisie=ligne 2, 3e saisie= ligne 2 etc.)
bipbip059
Messages postés16Date d'inscriptiondimanche 10 septembre 2006StatutMembreDernière intervention 1 mars 2009 28 sept. 2006 à 18:58
bonsoir
Je crois que là on est tombé sur un os j'ai employé les deux solutions de Carvals et à chaque fois je bloque sur la 2éme ligne de chaques feuilles (réécris sans cesse dessus)??????????
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201822 28 sept. 2006 à 23:16
C'est peut-être de la façon dont tu as écrit ta procédure et comment /où tu as déclaré tes variables (?)
La méthode que j'utilise pour trouver la dernière ligne ou la première
vide (+1) fonctionne toujours bien dans mes programmes parce que je
n'ai jamais de pages vierges. Il y a toujours au moins les entêtes. Si
je sais qu'il n'y en aura pas, je les écris auparavant dans le code si
nécessaire.
Les 2 autres façons qui t'ont été conseillées par Carvals fonctionnent
aussi. Et tu pourrais en recevoir plusieurs autres qui
fonctionneraient... Donc, je ne pense pas que ce soit là le problème.
Si tu postais ta procédure, peut-être que ce serait plus facile de trouver la solution et/ou l'erreur.
bipbip059
Messages postés16Date d'inscriptiondimanche 10 septembre 2006StatutMembreDernière intervention 1 mars 2009 29 sept. 2006 à 18:52
J'avoue que je ne comprends pas.Après une énième tentative j'ai copié collé le programme sur une nouvelle page et là tout a fonctionné. Encore merci à MPi et carvals pour une aide plus que précieuse.
bipbip059
Messages postés16Date d'inscriptiondimanche 10 septembre 2006StatutMembreDernière intervention 1 mars 2009 29 sept. 2006 à 20:40
bonsoir
La feuille 2 du classeur excel est un planning de la semaine lundi colonne G11 à G30
Mardi H11-H30, mercredi I11-I30, jeudi J11-J30, vendredi K11-K30, samedi L11-L30.
Comment peut on si prendre pour que les données de textbox4 se placent automatiquement dans les bonnes colonnes suivant le jours de la saisie et en tenant compte du numéro de la semaine ?
Encore merci
PS : Si quelqu'un pouvait me conseiller sur l'achat d'un très bon livre sur VB 6. Sympa
cs_carvals
Messages postés50Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention23 janvier 2008 30 sept. 2006 à 13:00
salut,
la comme ca c'est un peut vague mais voici des choses qui pourront t'aider.
quand tu utilises la fonction recherche le dernier parametre peut etre utile je veux dire que:
.row te renvoie le numero de la ligne de la cellule trouvee ex: 5
.address te renvoie colonne et ligne ex: B5
.activate active la cellule
la propriete offset te premet de faire un decalage
par exemple tu fais un recherche pour trouver la 40eme semaine en mettant le debut de ta recherche sur "H11" logiquement le resultat de ta recherche sera le mardi de ta 40eme semaine ensuite tu active cette cellule avec le .activate (dernier parametre de la fonction recherche) puis tu decales suivant le jour de la semaine avec offset
activecell.offset(1, 0) placera ton curseur sur mercredi 40 semaine (offset, row, column)
tout depend de comment tu fait ta recherche et ou sont stocke tes parametres de recherche mais regarde sur des sites ou l'aide excel. avec la fonction recherche, la fonction decaler (offset) et les parametres .row, .address, . activate tu devrais t'en sortir.
sinon envoi moi carrement ton classeur que j'y jette un coup d'oeil.
a+ et bon courage
carvals
PS: MPi> desole d'avoir corrige ton code ds un post precedent je pensais qu'il y avait une erreur d'etourerie. milles excuses