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

Re : Bonjour à tous,

  • Initiateur de la discussion Initiateur de la discussion cpo1968
  • Date de début Date de début

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 !

C

cpo1968

Guest
Bonjour,
Je salue tous les membres d'XLD.

j'ai40 ans et je suis élève ingénieur généraliste en formation continue. Par la force des choses, je dois me mettre à la page concernant la bureautique et surtout excel .
J'aurais besoin d'un coup de main pour faire une macro.
J'utilise excel pour faire des tableaux et des graphiques depuis peu.

Je sais me servir de l'assistant enregistreur de macro ,mais je suis loin de savoir faire un code élaboré.

Voici ma problématique: sur Excel 2000 à partir d'une feuille protégée,je désire extraire et recopier les lignes correspondant à un numéro contenu dans la colonne "N° d'OT"(OT=ordre de travail) dans une autre feuille.

Le filtre élaboré ne peut pas se faire sur une feuille protégée.

Cette feuille sert à saisir toutes les interventions techniques à partir d'un ordre de travail.Il peut y avoir plusieurs lignes de saisie pour le même OT.

La liste des OT étant assez longue . Il n'est pas aisé de retrouver les lignes correspondant à un n°OT.

Le but est de recopier toutes les lignes correspondant à un N° d'OT sur une autre feuille.

Il faudrait disposer d'une boite de dialogue afin de saisir le N°d'OT pour executer la macro.

Le classeur contenant ce fichier de saisie est en partage réseau et doit rester protéger pour la mise en forme .

Toute aide afin d'avancer sur cette requete sera la bienvenue.

Merci d'avance.
 
Bonjour cpo1968, bienvenue sur le forum,

Un conseil : mettre un titre plus explicite quand on ouvre une discussion. Cela permet des recherches.

En supposant que la feuille contenant les OT soit la 1ère du classeur, et que les OT soient dans la 1ère colonne, essayez la macro suivante.

Elle est à placer dans un module (Alt+F11 puis menu Insertion-Module).

La feuille de restitution doit être dans le même classeur et sélectionnée. La macro peut se lancer par des touches de raccourci.

Code:
Sub Filtre()
Dim OT$
Cells.ClearContents 'la feuille active est vidée
OT = InputBox("Entrez le N° d'OT recherché :", "N° d'OT")
If OT = "" Then Exit Sub
Application.ScreenUpdating = False 'l'écran est figé
Workbooks.Add 'création d'un nouveau classeur
ThisWorkbook.Sheets([COLOR="Red"][B]1[/B][/COLOR]).Cells.Copy Cells 'copie de la 1ère feuille vers le nouveau classeur
Range("A1").AutoFilter Field:=[COLOR="Red"][B]1[/B][/COLOR], Criteria1:=OT 'filtrage sur la 1ère colonne
Cells.Copy ThisWorkbook.ActiveSheet.Cells 'copie du filtrage vers la feuille active de ThisWorkbook
ActiveWorkbook.Close SaveChanges:=False 'fermeture du nouveau classeur
Application.ScreenUpdating = True
End Sub

Edit : vous pouvez aussi lancer la macro Filtre par la macro suivante placée dans le code de la feuille de restitution (clic droit sur l'onglet et Visualiser le code), la macro se lance à chaque activation de la feuille :

Code:
Private Sub Worksheet_Activate()
Filtre
End Sub
A+
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
925
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…