Copier/coller des lignes avec conditions variable [Résolu/Fermé]

Signaler
Messages postés
30
Date d'inscription
dimanche 22 novembre 2015
Statut
Membre
Dernière intervention
23 mars 2019
-
Messages postés
30
Date d'inscription
dimanche 22 novembre 2015
Statut
Membre
Dernière intervention
23 mars 2019
-
Bonjour,

Je bloque sur mon fichier Excel, le but de ma démarche est de créer une fonction recherche sur excel grâce à un bouton.

Là où je suis bloqué c'est que j'arrive à récupérer les numéro de ligne où son apparu ce que je cherche mais je n'arrive pas à copier/coller suivant les numéros de cellule que je récupère.

J'ai essayé ça mais je suis pas trop à l'aise avec les boucle ^^

Sub Macro3()
'
' Macro3 Macro
'
    Dim b As Integer
    Dim y As Integer
    b = Range("A1:A500")'colonne ou son stocké les numéro de ligne, le nombre de ligne est variable
    y = Cells(b + 1, 1)
    Sheets("Station").Rows("y:y").Copy
    Sheets("Tableau de Bord").Cells(i + 28, 1).Select
    ActiveSheet.Paste
    Sheets("Station").Select
Next b
End sub





Merci d'avance

1 réponse

Messages postés
15831
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 juillet 2021
1 512
Bonjour,

le but de ma démarche est de créer une fonction recherche sur excel grâce à un bouton
Apparemment c'est fait puisque:
c'est que j'arrive à récupérer les numéro de ligne où son apparu

Ce qu'il vous manque c'est la copie des lignes en fonction du contenu de la colonne A
(Range("A1:A500")'colonne ou son stocké les numéro de ligne, le nombre de ligne est variable)

Oui ou .... ?
Messages postés
15831
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 juillet 2021
1 512 >
Messages postés
30
Date d'inscription
dimanche 22 novembre 2015
Statut
Membre
Dernière intervention
23 mars 2019

Re,

Sub Macro3()
    Dim TNL As Variant  'Table des lignes a copier
    Dim n As Long, Nb As Long
    
    With Worksheets("feuil1")
        TNL = .Range("A1").CurrentRegion        'mise en memoire plage de cellules
        Nb = UBound(TNL)        'Nombre de valeurs dans table
    End With
    'Boucle sur table de valeurs
    For n = 1 To Nb
        Sheets("Station").Rows(TNL(n, 1)).Copy Sheets("Tableau de Bord").Cells(n + 28, 1)
    Next n
    Sheets("Station").Select        '????
End Sub
Messages postés
30
Date d'inscription
dimanche 22 novembre 2015
Statut
Membre
Dernière intervention
23 mars 2019
>
Messages postés
15831
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 juillet 2021

Merci c'est parfait, c'est exactement ce que je voulais, par contre j'ai un message d'erreur:

Erreur d’exécution '10044:
Erreur définie par l'application ou par l'objet

l'erreur interviens sur cette ligne:

Sheets("Station").Rows(TNL(n, 1)).Copy Sheets("Tableau de Bord").Cells(n + 28, 1)
Messages postés
15831
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 juillet 2021
1 512 >
Messages postés
30
Date d'inscription
dimanche 22 novembre 2015
Statut
Membre
Dernière intervention
23 mars 2019

Re,

Dans la feuil1, y plusieurs colonnes utilisees??

Suite:

Sub Macro3()
    Dim TNL As Variant  'Table des lignes a copier
    Dim n As Long, Nb As Long
    
    With Worksheets("feuil1")
        TNL = .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row)       'mise en memoire plage de cellules
        Nb = UBound(TNL)       'Nombre de valeurs dans table
    End With
    'Boucle sur table de valeurs
    For n = 1 To Nb
        Sheets("Station").Rows(TNL(n, 1)).Copy Sheets("Tableau de Bord").Cells(n + 28, 1)
    Next n
    Sheets("Station").Select        '????
End Sub
Messages postés
30
Date d'inscription
dimanche 22 novembre 2015
Statut
Membre
Dernière intervention
23 mars 2019
>
Messages postés
15831
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 juillet 2021

Effectivement j'ai plusieurs colonnes utilisé, du coup c'est bon ça fonctionne, je te remercie pour ton aide :)
Messages postés
30
Date d'inscription
dimanche 22 novembre 2015
Statut
Membre
Dernière intervention
23 mars 2019

bonjour, je reviens vers vous car après plusieurs j'ai remarque un petit problème, par moment je vais avoir aucun résultat sur ma rechercher ou seulement 1 résultat du coup il me met un message d'erreur sur cette ligne:

Nb = UBound(TNL)


Avec comme message :

"erreur d'exécution'13'
Incompatibilité de type"

Connaissez-vous une alternative pour contourner ce problème ?