Macro : copier-coller sous conditions

Bonjour au Forum !

Mon premier post et déjà une demande d'aide pour une macro Excel de copier-coller sous conditions (je ne maîtrise pas du tout VBA...).

Je dispose d'un classeur avec un feuille nommée "source" qui est ma base de données de mon outil de reporting (jamais plus de 10 000 lignes).

Je souhaite que lorsque le mot "Finance" apparaît en colonne A de la feuille "source" la macro copie-colle la ligne associée (uniquement de la colonne "B" à la colonne "S") dans une autre feuille nommée "FINANCE" à partir de la ligne 2. Le type de copier-coller que je souhaite est : uniquement les valeurs.

Ensuite Idem pour le mot "Risques" dans la feuille associée "RISQUES" et pour le mot "Assurances" dans la feuille "ASSURANCES" associée.

J'ai déjà pas mal cherché sur Internet et j'ai trouvé la macro suivante :

Sub CopyData()

Dim MotCle

Dim i As Byte

Dim C As Range

Dim F As String

Dim Ligne As Long

'On définit les mots clés

MotCle = Array("Finance", "Risques", "Assurances")

For i = 0 To UBound(MotCle)

Do

Set C = Worksheets("sheet1").Columns(1).Find(MotCle(i), LookIn:=xlValues, lookat:=xlPart)

If Not C Is Nothing Then

F = "sheet" & (i + 2)

With Worksheets(F)

Ligne = .Range("F" & Rows.Count).End(xlUp).Row + 1

C.EntireRow.Copy .Range("A" & Ligne)

End With

End If

Loop While Not C Is Nothing

Next i

End Sub

Cependant, plusieurs éléments ne sont pas applicables dans mon cas : le nom des feuilles "standard" Excel et la macro copie-colle toute la ligne associée dès qu'il trouve un des mots-clés au lieu de ne prendre en compte que les colonnes que je vous ai indiquées (de plus, je souhaite avoir un copier-coller que des valeurs). Pour finir, j'ai tout de même essayé d'adapter mon classeur pour tester cette macro et je constate que ça mouline indéfiniment et fait planter mon Excel.

Merci d'avance pour votre aide. N'hésitez pas me demander des compléments d'informations si besoin.

Bonjour et bienvenue sur le forum

Tu écris :

Je dispose d'un classeur avec un feuille nommée "source"

On peut le voir, ce classeur ? Même allégé et anonymisé ?

Bye !

Bonjour,

Désolé pour l'oubli du fichier joint.

D'ailleurs, je viens de me rendre compte que je ne souhaite pas tout récupérer de mon premier onglet "source". J'ai du coup rajouté une ligne dans cet onglet pour mettre en valeur les données que je souhaite copier-coller dans les onglets associés.

Merci

Un essai à tester. Te convient-il ?

Bye !

Bonsoir gmb !

Cela marche parfaitement.

J'ai aussi changé dans la macro les mots-clés recherchés et les onglets associés et cela fonctionne au top.

Merci beaucoup !

Bonjour,

Je rebondis dans ce post car le sujet me concerne de très près.

J'ai sensiblement la même problématique:

* une base de données dont les données sont comprises de la ligne 2 des colonnes A à I

* dans la colonne A le nom de différentes entreprises

=> je souhaiterai créer un onglet par entreprises et y inserer les lignes correspondantes

Hors en reprenant le code qui avait été proposé avec mes données j'obtiens toujours le même message d'erreur faisant référence à une erreur d'indice, j'imagine donc que la dimension du tableau n'est pas la même ou qqc du type

(je suis quelque peu novice voire même réellement novice en VBA)

Voici mon code la ligne de bug est indiquée par ==>

Option Explicit

Dim ln, lgn, col, fs

Dim nf As String

Sub Exporter()

Application.ScreenUpdating = False

Set fs = ActiveSheet

For ln = 2 To fs.Range("A" & Rows.Count).End(xlUp).Row

nf = fs.Range("A" & ln)

If (nf = "AZUR SCENIQUE") And fs.Range("I" & ln) <> "X" Then

lgn = Sheets(nf).Range("A" & Rows.Count).End(xlUp)(2).Row

fs.Range("A" & ln & ":I" & ln).Copy

Sheets(nf).Range("A" & lgn).PasteSpecial xlPasteValues

fs.Range("I" & ln) = "X"

End If

Next ln

fs.Select

MsgBox "Exportations terminées"

End Sub

Merci d'avance de votre précieuse aide

Bonjour à tous

atib a écrit :

Hors en reprenant le code qui avait été proposé avec mes données j'obtiens toujours le même message d'erreur

@atib

Tu devrais créer ton propre post en se référant à celui-ci en y insérant son lien : intutile d'importuner giago2 qui a apparemment réglé son problème.

Et par la même occasion, joins ton fichier...

Bye

Rechercher des sujets similaires à "macro copier coller conditions"