Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Rechercher remplacer (Ctrl F) en macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lino Renzi

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin d'un coup de main des rois d'Excel...
J'ai automatisé un tournoi de pétanque avec les prénoms de chaque joueur.

J'aimerais créer une macro permettant de rechercher un prénom (d'un joueur absent) et de le remplacer (par son remplaçant). La feuille est protégée et je ne peux pas toujours être présent pour le faire "manuellement".

Je tourne autour du pot depuis des heures sur le forum qui propose des solutions assez proches de ce que je recherche mais malheureusement pas mon bonheur!!!

N'hésitez pas à me faire savoir si vous avez besoin de plus amples renseignements.

Je vous remercie d'avance de votre précieuse aide
 
Re : Rechercher remplacer (Ctrl F) en macro

Bonjour Lino, le forum,

Votre code de tri a été obtenu par enregistrement sur Excel 2007 ou 2010.

Il est compliqué car il utilise SortFields...

Quand le tri ne porte que sur des valeurs, il est beaucoup plus simple d'utiliser la méthode :

w.[A7:C60].Sort Key1:=w.[A7], Order1:=xlAscending, Header:=xlGuess

Quant aux noms des feuilles (janvier, février...) je vous laisse étudier et comparer ces diverses macros :

Code:
Sub Tri(w As Worksheet) 'code de base
  w.Unprotect "lino"
  w.[A7:C60].Sort Key1:=w.[A7], Order1:=xlAscending, Header:=xlGuess
  w.Protect "lino"
End Sub

Sub TrierTouteFeuille()
Dim w As Worksheet
For Each w In Worksheets
  Tri w
Next
End Sub

Sub TrierChaqueMois1()
Dim w As Worksheet
For Each w In Worksheets
  If IsDate("1-" & w.Name) Then Tri w 'si feuille d'un mois
Next
End Sub

Sub TrierChaqueMois2()
Dim i As Byte
On Error Resume Next 'si la feuille du mois n'existe pas
For i = 1 To 12
  Tri Sheets(Format("1/" & i, "mmmm"))
Next
End Sub

Sub TrierChaqueMois3()
Dim liste, w As Worksheet
liste = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", _
  "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
For Each w In Worksheets
  If IsNumeric(Application.Match(w.Name, liste, 0)) Then Tri w
Next
End Sub

En anticipant un peu, je vous souhaite une très bonne année 2011.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

B
Réponses
0
Affichages
1 K
bilbinou
B
S
Réponses
2
Affichages
1 K
Silver811
S
A
Réponses
9
Affichages
3 K
N
Réponses
1
Affichages
4 K
N
C
Réponses
4
Affichages
1 K
c.sintive
C
L
Réponses
3
Affichages
2 K
E
Réponses
9
Affichages
3 K
earxcurae
E
Y
Réponses
5
Affichages
2 K
ydemarin
Y
D
Réponses
19
Affichages
3 K
digitman
D
G
Réponses
3
Affichages
888
groyo
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…