J'ai un un onglet "base" dans lequel il y a un bouton inputbox pour que l'utilisateur rentre le nom et prenom du conseiller.
Ces données sont ensuite entrées en dessous de "CONSEILLER" avec les initiales et trier par ordre alphabétique puis un onglet est crée à leurs noms.
Enfin, ces onglets sont triés en fonction de la liste en dessous de "CONSEILLER".
Toutes ces macros font bien ce que je leur demande mais une erreur d'exécution 9 apparait dans la macro trier_onglets et je n'arrive pas à voir où se trouve l'erreur :s
Quelqu'un a-t-il une idée? (fichier ci-joint)
Merci d'avance
Ps : question bête mais pourquoi après suppression de toutes les feuilles sauf une, quand on en recrée une elle devient pas Feuil2? lol
Tu as un titre en B5, et ta lste commence en B6. Essaie :
VB:
Sub trier_onglets()
With Sheets("Base")
For Compteur = .Range("B65536").End(xlUp).Row To 6 Step -1
NomDeLaFeuille = .Range("B" & Compteur)
Sheets(NomDeLaFeuille).Move Before:=Sheets(1)
Next
End With
End Sub
Bonjour.
Parce que NomDeLafeuille vaut "CONSEILLER" à ce moment là et qu'il n'existe pas de feuille portant ce nom. Le problème vient de ce que vous tentez de poursuivre la boucle jusqu'à la ligne 1 alors qu'il n'y a des noms de feuilles qu'à partir de la 6. Donc mettez:
VB:
For Compteur = .Range("B65536").End(xlUp).Row To 6 Step -1
Oui, je sais, c'était évident, mais, rester zen et toujours distant de la certitude que ça devrait marcher, qui peut empêcher n'importe qui de voir les évidences...
Cordialement.