|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité(e)
![]() Messages : n/a ![]() |
Bonjour à tous, c'est encore moi, mais ce matin je tombe sur pleins d'os ... x_x
Alors pour faire simple, je cherche à selectionner une plage de cellule non vide sur ma colonne A... Simple non? Oui ! grâce à : Code :
Mon problème : Sur cette plage, les cellules contiennent la formule ! Code :
=(Annuaire!A2)&" "&GAUCHE(Annuaire!B2)&SI(ESTERREUR(TROUVE("-";Annuaire!B2;1));"";STXT(Annuaire!B2;TROUVE("-";Annuaire!B2;1)+1;1)) J'ai fais cette formule de A1 jusqu'à A600 sachant qu'il n'y à que 500 personnes, mais ça permet de ne pas changer le macros à chaques embauches et départ. Petite précision, je nomme la plage yoyo dans le but de l'utiliser dans une liste de validation... Et je ne veux pas de "blanc" or dans mon exemple, il y a 100 espaces blancs. Car Range utilise value, alors que text me permettrais (je penses) de faire référence à ce qui est affiché, c'est à dire rien de 500 à 600... J'espère me faire comprendre Si vous avez une solution, ou une meilleure façon de faire, pour en gros, avoir une liste nom - prénom, puis prendre le nom + initiale prénom, puis avoir cette plage nommée, sachant que la plage nommée devra se modifier elle même lorsque des nom s'ajouteront ou s'enleveront... |
||
00
|
|
|
#2 | ||
|
Membre Expert
![]() Frédéric VandermeulenInscription : juillet 2007 Messages : 1 716 ![]() |
Ben c'est pas certain ça
Je récapitule, sur ta feuille Divers, la formule qui extrait le nom et l'initiale basé sur la feuille Annuaire. Tu utilise plus de ligne sur ta feuille Divers que Annuaire => ligne vide dans ta feuille Divers quand elles se réfèrent à des lignes vides de la feuille Annuaire. Si c'est bien ça tu peux utiliser le nombre de ligne de ta feuille Annuaire pour définir la plage de ta feuille Divers. Exemple: Code :
A+
__________________
N'oubliez pas le si votre problème est solutionné.
|
||
|
|
00
|
|
|
#3 |
|
Invité(e)
![]() Messages : n/a ![]() |
Alors là, je dis bravo !
![]() Je ne savais pas du tout que l'on pouvait faire ça, c'est biiiiiiiiiiiiiiien plus simple que ce que j'avais en tête ! J'ai rajouter un petit .row-1 pour ne pas compter le titre de colonne... Je vais juste te demander un dernier truc : dans cells(columns(1).cells.count,1) Le premier 1 sert à définir la colonne A, mais le deuxième aussi puisque normalement cells(row, column) non? En tout cas ça fonctionne nickel, je veux juste savoir comment |
00
|
|
|
#4 |
|
Membre Expert
![]() Frédéric VandermeulenInscription : juillet 2007 Messages : 1 716 ![]() |
Pour répondre à ta question...
On aurait pu écrire en xl2003: Code :
DerLig = Sheets("Annuaire").cells(65536,1).End(xlUp).Row En fait Columns(1).cells.count renvoi 65536 si tu es en xl2003 Le numéro de cette colonne n'a pas d'importance en fait, contrairement au numéro de colonne associée à Cells. En espérant avoir été clair ![]() A+
__________________
N'oubliez pas le si votre problème est solutionné.
|
|
|
00
|
|
|
#5 |
|
Invité(e)
![]() Messages : n/a ![]() |
Parfaitement !
![]() Merci encore ! J'espère que le code se simplifie avec excel 2007, car on va bientôt passer dans cette version |
00
|
|
|
#6 |
|
Membre Expert
![]() Frédéric VandermeulenInscription : juillet 2007 Messages : 1 716 ![]() |
Raison de plus pour utiliser Columns(1).cells.count, ça t'éviteras des mauvaises surprises si ta feuille dépasse les 65536 lignes
__________________
N'oubliez pas le si votre problème est solutionné.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com