[Macro] recherche d'une valeur dans colonne et copie de la ligne

Ave

XLDnaute Nouveau
Bonjour,
J'ai pas mal de problème pour réaliser une manip sur une macro d'excel 2003.
J'importe un fichier txt contenant une serie d'acquisitions variable d'un message statique.
On veut vérifier que ce message le reste sur une grande période.
J'utilise alors la fonction EXACT() par rapport à un message de référence, qui donne un résultat logique VRAI ou FAUX en fonction du résultat.
Je souhaite Rechercher chaque ligne ou FAUX apparaît dans la colonne C et coller cette ligne
en dessous de "listing incorrects" en E11 de la feuille "traitement".

Pour plus de clarté le fichier *.xls et en PJ.

J'ai essayé plusieurs code sensé réaliser cette fonction mais je bute toujours.

Merci pour votre aide
 

Pièces jointes

  • Copie de 2012-07-25_0000.zip
    52 KB · Affichages: 148

laurent950

XLDnaute Accro
Re : [Macro] recherche d'une valeur dans colonne et copie de la ligne

Bonsoir,

Un essai.

VB:
Sub test()

Dim Traitement As Worksheet
Set T = Worksheets("Traitement")
Fin = T.Range("A65536").End(xlUp).Row
Set Plg = T.Range(T.Cells(1, 3), T.Cells(1000, 3))

For Each c In Plg
If c = "FAUX" Then
cpt = cpt + 1
T.Cells(11, 5) = c.Offset(, -2)
T.Cells(11, 5) = c.Offset(, -1)
end if
Next c
cpt = Empty
End Sub

Laurent
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [Macro] recherche d'une valeur dans colonne et copie de la ligne

Bonsoir à tous

Laurent
:
Tu voulais pas plutôt écrire
Dim T As Worksheet

Ave:
Pourquoi ne pas utiliser le filtre élaboré avec comme option: Copier vers l'emplacement
(Bien sûr cela peut se faire manuellement ou par macro (en fait la transcription VBA de l'action manuelle avec le filtre élaboré)
Utilises l'enregistreur de macros por obtenir un code VBA de base.
 
Dernière édition:

laurent950

XLDnaute Accro
Re : [Macro] recherche d'une valeur dans colonne et copie de la ligne

Bonsoir en faite le code serais plus avec des variable de type tableau

ici un seul tableau mais l'idéal serait deux tableaux enfin le principe est la

VB:
Option Base 1
Sub test()

 Dim F1 As Worksheet
 Set F1 = Worksheets("Traitement")
 Fin = F1.Range("A65536").End(xlUp).Row
 
 Dim Tplg()
 Tplg = F1.Range(F1.Cells(5, 1), F1.Cells(Fin, 3))

 ReDim Preserve Tplg(1 To UBound(Tplg, 1), 1 To 6)
 
 Dim cpt As Integer
 For i = 1 To UBound(Tplg, 1)
    If Tplg(i, 3) = "Faux" Then
        cpt = cpt + 1
        Tplg(cpt, 4) = Tplg(i, 1)
        Tplg(cpt, 5) = CDate(Tplg(i, 2))
        Tplg(cpt, 6) = Tplg(i, 3)
    End If
    'Application.StatusBar = i
Next i
cpt = 0

For i = 4 To 6
   ' k c'est un compteur
k = k + 1
' Copie la Colonne Du tableau en mémoire i pour colonne
   Cells(11, k + 4).Resize(UBound(Tplg, 1)) = Application.Index(Tplg, , i)
Next i

'Application.StatusBar = true
End Sub

laurent
 

Staple1600

XLDnaute Barbatruc
Re : [Macro] recherche d'une valeur dans colonne et copie de la ligne

Bonsoir

Plus j'y pense
Je souhaite Rechercher chaque ligne ou FAUX apparaît dans la colonne C et coller cette ligne
en dessous de "listing incorrects" en E11 de la feuille "traitement".
Plus j’opterai pour l'emploi d'un filtre automatique élaboré. (avec ou sans VBA)
 

Ave

XLDnaute Nouveau
Re : [Macro] recherche d'une valeur dans colonne et copie de la ligne

Le code de Laurent fonctionne parfaitement, il y a quelques instructions que je ne connais pas encore.
Encore merci du coup de main la fonction est parfaitement remplie =D
 

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 279
Membres
103 507
dernier inscrit
tapis23