VBA et xlDown

P

Pylt

Guest
Salut salut,
Encore un autre problème à l'horizon.

J'ai un formulaire (UserForm) avec plein de combobox et textbox dont je veux enregistrer les valeurs sur une feuille excel.
Avant d'enregistrer les valeurs, je dois trouver la première cellule vide dans la colonne A et je commence la copie des valeurs à ce point. Pour ce faire, j'utilise la commande xlDown suivante:

Worksheets('projet').range('A2').Select
Selection.End(xlDown).offset(1, 0).Select

Est-ce que quelqu'un peut m'expliquer pourquoi mon programme VBA fonctionne bien si je fait apparaître et utilise mon formulaire (UserFrom)sur la feuille Excel 'projet', là où je veux enregistrer mes données, et ne fonctionne pas si j'essaie de l'utiliser sur une des autres feuilles?

Merci de votre aide à l'avance,

Pylt
 

JC de Lorient

XLDnaute Impliqué
salut

pour avoir la dernière ligne d'une colonne utilise ceci :
dernièreligne = worksheets('mafeuille').range('A65536').end(xlup).row
pour avoir la 1ère ligne dispo tu rajoutes 1 soit
dernièreligne = worksheets('mafeuille').range('A65536').end(xlup).row + 1
ensuite pour ranger tes valeurs dans la bonne feuille :
worksheets('mafeuille').range('A' & dernièreligne)= combobox1.value

en espérant avoir été clair

JC
 

salim

XLDnaute Occasionnel
Bonjour

Pylt c'est du a cette ligne de code Worksheets('projet').range('A2').Select là tu demande explicitement à Excel de selectionner la cellule 'A2' de la feuille 'projet' et pas une autre ensuite avec cette ligne Selection.End(xlDown).offset(1, 0).Select
tu lui dit à partir de la selection en cours donc la cellule 'A2' de la feuille 'Projet' recherche la première ligne vide et selectionne là, donc si tu veux travailler sur une autre feuille c'est pas possible.

salim


Message édité par: salim, à: 07/02/2006 07:17
 

salim

XLDnaute Occasionnel
Bonjour

Pylt c'est du a cette ligne de code Worksheets('projet').range('A2').Select là tu demende explicitement a Excel de selectionner la cellule 'A2' de la feuille 'projet' et pas une autre ensuite avec cette ligne Selection.End(xlDown).offset(1, 0).Select
tu lui dit à partir de la selection en cours donc la cellule 'A2' de la feuille 'Projet' recherche la première ligne vide et selectionne là, donc si tu veux travailler sur une autre feuille c'est pas possible.

salim
 

Dan

XLDnaute Barbatruc
Bonjour,

Pylt, voici un code que j'utilise parfois:

Code:
Range('A2').End(xlDown).Activate
Selection.EntireRow.Insert

Avec ce code, tu pars de la cellule A2 vers la dernière ligne remplie (en colonne A) de ta base de données puis tu insères un ligne dans cette base de données.

;)
 
R

Raphaëlle

Guest
à propos de xlDown

Bonjour!

Je cherche à écrire une ligne de code qui me permettrait de savoir ou est la dernière case remplie d'un tableau et quel est son index pour pouvoir le réinjecter par la suite dans mon programme. Et je n'y arrive pas :eek: Est ce que quelqu'un pourrait m'aider s'il vous plaît!!!

Merci
 
R

Raphaëlle

Guest
à propos de xlDown

Bonjour!

Je cherche à écrire une ligne de code qui me permettrait de savoir ou est la dernière case remplie d'un tableau et quel est son index pour pouvoir le réinjecter par la suite dans mon programme. Et je n'y arrive pas :eek: Est ce que quelqu'un pourrait m'aider s'il vous plaît!!!

Merci
 

Dan

XLDnaute Barbatruc
Re:à propos de xlDown

Bonjour,

Raphaëlle, ta demande sort du sujet de ce fil.
Merci donc de poster cette demande sur nouveau fil.

Comme je vois que tu es nouvelle sur ce formu, je t'invite à lire la Charte de ce forum qui t'aidera pour la rédaction des questions et réponses éventuelles que tu souhaites poster. Clique ici : -->La charte

;)
 

Discussions similaires

Statistiques des forums

Discussions
312 344
Messages
2 087 444
Membres
103 546
dernier inscrit
mohamed tano