OVH Cloud OVH Cloud

Extraire les 3 Grandes valeurs d'une ligne

15 réponses
Avatar
Apitos
Bonsoir,

Dans une ligne j'ai en A2 la nom Nm, et dans B2 =E0 F2 j'ai cinq valeurs
de Nm.

Comment extraire les trois grandes valeurs de Nm et les copier dans
Feuil2 ?

Merci.

5 réponses

1 2
Avatar
ChrisV
Chris ton code déclenche une erreur d'Autofill.


???...
Tu peux toujours remplacer par une boucle...

Sub zaza()
Dim i As Integer
With Worksheets("Feuil2")
For i = 1 To 3
.Range("A" & i & ":C" & i).FormulaArray = "=LARGE(Feuil1!B" _
& i & ":F" & i & ",{1,2,3})"
Next i
.[A1:C3] = .[A1:C3].Value
End With
End Sub


ChrisV


"Apitos" a écrit dans le message de news:

Bonjour Chris, Corto.

Chris ton code déclenche une erreur d'Autofill.

Merci Corto pour l'explication

Avatar
Apitos
Bonsoir,

Ca marche.

Sauf que lorsqu'il y'a une cellule vide dans Feuil1, elle est
remplacée dans Feuil2 par #NOMBRE!
Avatar
ChrisV
Bonjour Apitos,

Selon les données de ton exemple, il faudrait qu'il y ait au moins 3
valeurs, par ligne, absentes pour obtenir cette erreur, curieux...
Tu confirmes qu'elle se produit pour une seule cellule vide ?

Sub zaza()
Dim i As Integer
Dim errV As String
With Worksheets("Feuil2")
.[A1:C3] = ""
For i = 1 To 3
.Range("A" & i & ":C" & i).FormulaArray = "=LARGE(Feuil1!B" _
& i & ":F" & i & ",{1,2,3})"
Next i
errV = .[A1:C3].SpecialCells(xlCellTypeFormulas, 16).Address
.[A1:C3] = .[A1:C3].Value
.Range(errV).Clear
End With
End Sub


ChrisV


"Apitos" a écrit dans le message de news:

Bonsoir,

Ca marche.

Sauf que lorsqu'il y'a une cellule vide dans Feuil1, elle est
remplacée dans Feuil2 par #NOMBRE!
Avatar
ChrisV
Oups... petite coquille,

Sub zaza()
Dim i As Integer
Dim errV As String
With Worksheets("Feuil2")
.[A1:C3] = ""
For i = 1 To 3
.Range("A" & i & ":C" & i).FormulaArray = "=LARGE(Feuil1!B" _
& i & ":F" & i & ",{1,2,3})"
Next i
On Error Resume Next
errV = .[A1:C3].SpecialCells(xlCellTypeFormulas, 16).Address
.[A1:C3] = .[A1:C3].Value
.Range(errV).Clear
End With
End Sub


ChrisV


"ChrisV" a écrit dans le message de news:

Bonjour Apitos,

Selon les données de ton exemple, il faudrait qu'il y ait au moins 3
valeurs, par ligne, absentes pour obtenir cette erreur, curieux...
Tu confirmes qu'elle se produit pour une seule cellule vide ?

Sub zaza()
Dim i As Integer
Dim errV As String
With Worksheets("Feuil2")
.[A1:C3] = ""
For i = 1 To 3
.Range("A" & i & ":C" & i).FormulaArray = "=LARGE(Feuil1!B" _
& i & ":F" & i & ",{1,2,3})"
Next i
errV = .[A1:C3].SpecialCells(xlCellTypeFormulas, 16).Address
.[A1:C3] = .[A1:C3].Value
.Range(errV).Clear
End With
End Sub


ChrisV


"Apitos" a écrit dans le message de news:

Bonsoir,

Ca marche.

Sauf que lorsqu'il y'a une cellule vide dans Feuil1, elle est
remplacée dans Feuil2 par #NOMBRE!





Avatar
Apitos
Merci ChrisV,

cette ligne sert à quoi ?

.[A1:C3] = .[A1:C3].Value

si je la commente, rien ne se passe !!!!
1 2