Utilisation de Selection.End(xlDown)

refrege

XLDnaute Nouveau
Bonjour,

Je suis un visiteur occasionnel de ce forum qui m'apporte beaucoup de solutions à mes petits problèmes, mais là, je n'ai rien trouvé de probant dans les discussions précédentes.

Je cherche à intégrer dans une macro une fonction permettant de sélectionner la première cellule vide de la colonne A d'une feuille, cela afin de coller automatiquement en fin de feuille "archives" les données devenues inutiles dans ma feuille "données".

Il me semble avoir compris qu'une fonction du genre
Selection.End(xlDown).select+1
devrait fonctionner, mais ce n'est pas le cas dans ma version Excel 2003... Le "+1" ne plait pas...

Avez-vous une idée ?

Merci d'avance pour votre aide,
Stéphane
 

job75

XLDnaute Barbatruc
Re : Utilisation de Selection.End(xlDown)

Bonjour à tous,

Range("A1").End(xlDown).Offset(1).Select ou

Range("A1").End(xlDown)(2).Select

L'ennui de End(xlDown) c'est que si toutes les cellules sous A1 sont vides, c'est A65536 qui est sélectionnée...

Il vaut mieux en général utiliser :

Range("A65536").End(xlUP).Offset(1).Select ou

Range("A65536").End(xlUp)(2).Select

A+
 

refrege

XLDnaute Nouveau
Re : Utilisation de Selection.End(xlDown)

Smotty,

J'ai également essayé ce truc, mais ça ne fonctionne pas non plus : lorsque je crée la macro suivante, le "+" est systématiquement supprimé

Sub SelectionCellVide()
' SelectionCellVide Macro
' Macro enregistrée le 11/12/2008 par refreste
Selection.End(xlDown).Row +1
End Sub

Est-ce un problème de version d'excel ou ya-t-il un truc incohérent dans ma macro ?

Merci pour ton aide,
Stéphane
 

GOUTTIN

XLDnaute Nouveau
Bonjour je vois que les post sont ancien mais j'ai un problème du même type. Je suis novice dans la pratique et je sèche:
J'ai construit un formulaire de saisie de bdd en suivant un tuto. Et l'objectif était d'incrémenter ligne après ligne les données entrées dans mon forulaire, voici la formule:

Sheets("source").Activate
Range("A1").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
ActiveCell = cboMateriel.Value
ActiveCell.Offset(0, 1).Value = cboAchat
ActiveCell.Offset(0, 2).Value = txtDenomintaion
ActiveCell.Offset(0, 3).Value = TextDescript
ActiveCell.Offset(0, 4).Value = TextRef
ActiveCell.Offset(0, 5).Value = TextPrix
ActiveCell.Offset(0, 6).Value = TextLocJours
ActiveCell.Offset(0, 7).Value = cboUnité
ActiveCell.Offset(0, 8).Value = TextQtte


Mon problème est que systématiquement mes données vont à la dernière ligne de mon tableau mis en forme et que je n'arrive à implémenter que deux lignes. Chaque nouvelle saisie vient écraser la dernière ligne du tableau.

Je sèche, quelqu'un pourrait il m'aider ?

Merci d'avance.
 

job75

XLDnaute Barbatruc
Bonsoir GOUTTIN, bienvenue sur XLD,

D'après votre code vous remplissez la 1ère cellule vide en colonne A puis la ligne jusqu'à la colonne I.

Bien sûr si cboMateriel est vide la ligne sera la même à l'exécution suivante.

A+
 

Discussions similaires

Statistiques des forums

Discussions
311 717
Messages
2 081 854
Membres
101 826
dernier inscrit
dododu89