suite =E0 une pr=E9c=E9dente demande, j'ai un souci sur une macro
lorsque dans la colonne DEDE, il n'y a qu'un critere pour toute la
colonne (exemple 4) cela me met un #ref dans l'extraction
en revanche sui le critere 4 appara=EEt 2 fois dans la colonne, la
routine fonctionne correctement,
donc des que le 1er critere de recherche se trouve seul et en premiere
ligne cela ne marche pas
j'ai essay=E9 de mettre la valeur 4 dans la colonne DEDE mais en 2 eme
ligne et cela fonctionne
voici le code et le fichier joint
http://cjoint.com/?ADCkORsBxYO
Sub test()
Rows("29:45").Select
Selection.Delete Shift:=3DxlUp
Range("A1").Select
Dim Rg As Range, A As Integer, Sh As Worksheet
Set Sh =3D Worksheets("Feuil2")
On Error Resume Next
Application.ScreenUpdating =3D False
With Sh
Set Rg =3D .Range("C2:K15")
A =3D 2
'Pour chacune des colonnes, tu appliques un filtre auto.
For Each c In Array(7, 8, 9) 'numerotation des colonnes depuis
le debut de la selection filtree soit en C2
With Rg
.AutoFilter field:=3Dc, Criteria1:=3DRange("b14").Value
.Columns(1).SpecialCells(xlCellTypeVisible).Copy
Sh.Cells(30, A) 'copie des donnees dans la colonne filtree
Sh.Cells(30, A) =3D .Item(1, c) 'copie du titre de colonne
filtree
End With
.ShowAllData
A =3D A + 1
Next
' Application.ScreenUpdating =3D True
Selection.AutoFilter
End With
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
On 28 avr, 10:44, magic-dd wrote:
bonjour
suite à une précédente demande, j'ai un souci sur une macro
lorsque dans la colonne DEDE, il n'y a qu'un critere pour toute la colonne (exemple 4) cela me met un #ref dans l'extraction
en revanche sui le critere 4 apparaît 2 fois dans la colonne, la routine fonctionne correctement,
donc des que le 1er critere de recherche se trouve seul et en premiere ligne cela ne marche pas
j'ai essayé de mettre la valeur 4 dans la colonne DEDE mais en 2 eme ligne et cela fonctionne
voici le code et le fichier joint
http://cjoint.com/?ADCkORsBxYO
Sub test()
Rows("29:45").Select Selection.Delete Shift:=xlUp Range("A1").Select Dim Rg As Range, A As Integer, Sh As Worksheet Set Sh = Worksheets("Feuil2") On Error Resume Next Application.ScreenUpdating = False With Sh Set Rg = .Range("C2:K15") A = 2 'Pour chacune des colonnes, tu appliques un filtre auto. For Each c In Array(7, 8, 9) 'numerotation des colonnes depui s le debut de la selection filtree soit en C2 With Rg .AutoFilter field:=c, Criteria1:=Range("b14") .Value .Columns(1).SpecialCells(xlCellTypeVisible).Copy Sh.Cells(30, A) 'copie des donnees dans la colonne filtree Sh.Cells(30, A) = .Item(1, c) 'copie du titr e de colonne filtree End With
.ShowAllData A = A + 1 Next ' Application.ScreenUpdating = True Selection.AutoFilter End With
Application.ScreenUpdating = True End Sub
merci de votre aide je craque
Salut à toi
Je mettrais :
With Rg .AutoFilter field:=c, Criteria1:=Range("b14").Value .Columns(1).SpecialCells(xlCellTypeVisible).Copy Sh.Cells(30, A) 'copie des donnees dans la colonne filtree Sh.Cells(30, A) = .Item(1, c) 'copie du titre de colonne filtree End With
comme ceci :
With Rg .AutoFilter field:=c, Criteria1:=Range("b14").Value .Columns(1).SpecialCells(xlCellTypeVisible).Copy Sh.Cells(30, A).PasteSpecial Paste:=xlPasteValues 'copie des donnees dans la colonne filtree Sh.Cells(30, A) = .Item(1, c) 'copie du titre de colonne filtree End With
Celà devrait mieux faire
Dis moi !!!!!!
On 28 avr, 10:44, magic-dd <ciolan...@gmail.com> wrote:
bonjour
suite à une précédente demande, j'ai un souci sur une macro
lorsque dans la colonne DEDE, il n'y a qu'un critere pour toute la
colonne (exemple 4) cela me met un #ref dans l'extraction
en revanche sui le critere 4 apparaît 2 fois dans la colonne, la
routine fonctionne correctement,
donc des que le 1er critere de recherche se trouve seul et en premiere
ligne cela ne marche pas
j'ai essayé de mettre la valeur 4 dans la colonne DEDE mais en 2 eme
ligne et cela fonctionne
voici le code et le fichier joint
http://cjoint.com/?ADCkORsBxYO
Sub test()
Rows("29:45").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Dim Rg As Range, A As Integer, Sh As Worksheet
Set Sh = Worksheets("Feuil2")
On Error Resume Next
Application.ScreenUpdating = False
With Sh
Set Rg = .Range("C2:K15")
A = 2
'Pour chacune des colonnes, tu appliques un filtre auto.
For Each c In Array(7, 8, 9) 'numerotation des colonnes depui s
le debut de la selection filtree soit en C2
With Rg
.AutoFilter field:=c, Criteria1:=Range("b14") .Value
.Columns(1).SpecialCells(xlCellTypeVisible).Copy
Sh.Cells(30, A) 'copie des donnees dans la colonne filtree
Sh.Cells(30, A) = .Item(1, c) 'copie du titr e de colonne
filtree
End With
.ShowAllData
A = A + 1
Next
' Application.ScreenUpdating = True
Selection.AutoFilter
End With
Application.ScreenUpdating = True
End Sub
merci de votre aide je craque
Salut à toi
Je mettrais :
With Rg
.AutoFilter field:=c, Criteria1:=Range("b14").Value
.Columns(1).SpecialCells(xlCellTypeVisible).Copy
Sh.Cells(30, A) 'copie des donnees dans la colonne filtree
Sh.Cells(30, A) = .Item(1, c) 'copie du titre de colonne
filtree
End With
comme ceci :
With Rg
.AutoFilter field:=c, Criteria1:=Range("b14").Value
.Columns(1).SpecialCells(xlCellTypeVisible).Copy
Sh.Cells(30, A).PasteSpecial Paste:=xlPasteValues 'copie
des donnees dans la colonne filtree
Sh.Cells(30, A) = .Item(1, c) 'copie du titre de colonne
filtree
End With
suite à une précédente demande, j'ai un souci sur une macro
lorsque dans la colonne DEDE, il n'y a qu'un critere pour toute la colonne (exemple 4) cela me met un #ref dans l'extraction
en revanche sui le critere 4 apparaît 2 fois dans la colonne, la routine fonctionne correctement,
donc des que le 1er critere de recherche se trouve seul et en premiere ligne cela ne marche pas
j'ai essayé de mettre la valeur 4 dans la colonne DEDE mais en 2 eme ligne et cela fonctionne
voici le code et le fichier joint
http://cjoint.com/?ADCkORsBxYO
Sub test()
Rows("29:45").Select Selection.Delete Shift:=xlUp Range("A1").Select Dim Rg As Range, A As Integer, Sh As Worksheet Set Sh = Worksheets("Feuil2") On Error Resume Next Application.ScreenUpdating = False With Sh Set Rg = .Range("C2:K15") A = 2 'Pour chacune des colonnes, tu appliques un filtre auto. For Each c In Array(7, 8, 9) 'numerotation des colonnes depui s le debut de la selection filtree soit en C2 With Rg .AutoFilter field:=c, Criteria1:=Range("b14") .Value .Columns(1).SpecialCells(xlCellTypeVisible).Copy Sh.Cells(30, A) 'copie des donnees dans la colonne filtree Sh.Cells(30, A) = .Item(1, c) 'copie du titr e de colonne filtree End With
.ShowAllData A = A + 1 Next ' Application.ScreenUpdating = True Selection.AutoFilter End With
Application.ScreenUpdating = True End Sub
merci de votre aide je craque
Salut à toi
Je mettrais :
With Rg .AutoFilter field:=c, Criteria1:=Range("b14").Value .Columns(1).SpecialCells(xlCellTypeVisible).Copy Sh.Cells(30, A) 'copie des donnees dans la colonne filtree Sh.Cells(30, A) = .Item(1, c) 'copie du titre de colonne filtree End With
comme ceci :
With Rg .AutoFilter field:=c, Criteria1:=Range("b14").Value .Columns(1).SpecialCells(xlCellTypeVisible).Copy Sh.Cells(30, A).PasteSpecial Paste:=xlPasteValues 'copie des donnees dans la colonne filtree Sh.Cells(30, A) = .Item(1, c) 'copie du titre de colonne filtree End With