Copier/Coller en fonction d'une condition

  • Initiateur de la discussion Initiateur de la discussion poulpow
  • 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 !

poulpow

XLDnaute Nouveau
Bonjour tout le monde.
Etant donné mon pauvre niveau en Excel, j'ai besoin d'un coup de main.

Explication : toujours dans le cadre de mon travail, j'effectue des relevés journaliers en vrac que je liste sur la feuille 2 de mon classeur.
Ce que je souhaiterais, c'est qu'en appuyant sur un bouton, une macro réalise automatiquement un tri de mon tableau contenant les données vrac en fonction d'une condition de type, "si la cellule XX contient le texte oui, alors coller la ligne complète sur la feuille 3 et si elle contient le texte non, alors coller la ligne complète sur la feuille 4".
Comme je l'ai dis avant, ces relevés sont journaliers. De ce fait, il faudrait que les nouvelles données soient collées à la suite des valeurs plus anciennes !

Voilà, j'espère avoir été suffisamment clair. 😀

Merci pour votre aide
 
Re : Copier/Coller en fonction d'une condition

Bonjour,

Je me suis appuyée sur votre macro pour tenter de réaliser presque le même travail : la difficulté supplémentaire est la recherche d'un mot ou de plusieurs mots dans une cellule qui contient une phrase.
La macro ne fonctionne pas, et je ne parviens pas à détecter l'erreur. (Je suis novice en VBA). Dans l'exemple, je recherche à copier les lignes ou dans la colonne D les cellules contiennent le mot "ministry"

Je vous mets ci-dessous la macro et un fichier joint,
Merci grandement d'avance pour votre aide,

Sub Tri()
Sheets("AMM").Activate
Range("d3").Activate
Range(Selection, Selection.End(xlDown)).Select

For Each cell In Selection
If cell.Offset(0, -3).Value = ID And cell.Value = "%ministry" Then
Range(cell, cell.Offset(0, -3)).Copy

Sheets("Tri").Select
Range("A1").End(xlDown).Activate

ActiveCell.Offset(1, 0).Activate

ActiveSheet.Paste


End If

Next cell
Application.ScreenUpdating = "false"
End Sub
 

Pièces jointes

- 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

Réponses
10
Affichages
766
Réponses
9
Affichages
874
Retour