Copier puis coller valeur dans la prochaine cellule vide d'un tableau excel

cs_kouki69 Messages postés 95 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 28 août 2015 - 21 août 2009 à 17:05
cs_kouki69 Messages postés 95 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 28 août 2015 - 24 août 2009 à 10:03
Bonjour à vous, les dieux de la programmation.
Un problème sûrement simple... J'ai fouillé dans le forum et je n'ai pas trouvé exactement ce que je voulais...
J'ai une feuille excel. Dans cette feuille j'ai besoin de compléter un tableau. Par exemple:
J'ai une colonne nommée "Couleur"
Disons que la colonne comporte déja 5 lignes (B2 à B6) complétées. La cellule que je copie, je voudrai la coller à la 6 ème ligne (en B7). Et ainsi de suite, la macro en évoluant devra remplir cette colonne en B8, B9 etc ...
Merci de votre aide
Kouki

2 réponses

ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009
21 août 2009 à 17:21
Bonjour,

Tu devrais fournir plus d'infos afin d'avoir une réponse claire. Par exemple, post le code que tu as déjà écrit.

Je ne sais pas si ça répond à ta question mais...:
Une cellule est un objet range. Tu peux le déclarer dans ta fonction:
dim tCell as range
Il suffit, quand tu modifies la première cellule (B2) de la conserver en mémoire:
set tCell=...

puis la prochaine cellule à modifier (celle du dessous) sera
tcell.offset(1,0)
0
cs_kouki69 Messages postés 95 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 28 août 2015
24 août 2009 à 10:03
Merci Ricomiracle pour ta prompte réponse,
Je n'ai pas grand chose à proposer dans mon code.
J'ai fait quelque tentative, notamment atteindre des cellules vides, le problème c'est que toute les cellules vides de la plage sont selectionnées. ( avec : "Selection.SpecialCells(xlCellTypeBlanks).Select")
Le code est vraiment basique :

Sheets("liste plans").Select
Range("B8858").Select
Selection.Copy
Sheets("liste plans 2009").Select
Range("B1673").Select
ActiveSheet.Paste

Plutot que mettre 'Range("B1673").select', je voudrais dire :
rechercher dans la colonne de B2 à B9999, la première cellule vide et y coller ce que j'ai copié.
Merci
Kouki
0
Rejoignez-nous