Formule de recherche

Bonjour,

J'ai un fichier Excel dans el qu'elle j'effectue un tri via une macro sous VBA.

dans cette macro j'ai cette formule:

F = "=IF(Sheet1!R[" & C & "]C3=R1C1,IF(Sheet1!R[" & C & "]C4=R1C,Sheet1!R[" & C & "]C5,0),0)"

mais le problème c'est que du coup à chaque modèle il reprend de 0

J'aimerais donc que il ne reprenne pas de la 1ère ligne pour chaque marque.

Je m'explique:

pour la marque Audi qui se situe en ligne 123, pour le modèle A1 (8X) il commence de la ligne 1 mais pour le modèle A3 (8P) MY 2008 que il commence de la ligne 123.

Je ne peut vous mettre en pièce jointe le fichier je vous met donc la macro (le fichier ne veux pas être mis en pièce jointe).

Sub Macro1()
'
' Macro1 Macro
'copier coller de la colonne marque
Sheets("Feuil2").Activate
D = Range("C2")
A0 = 1
B5 = 2 'colonne

Do While A0 < D
    Sheets("Feuil3").Select

    Cells(1, B5).Select
    Range(Selection, Selection.End(xlDown)).Select

Application.CutCopyMode = False
    Selection.Copy
    Sheets("Feuil4").Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Cells.Select
    Columns("C:AZ").Select
    Selection.ColumnWidth = 17.5

    Range("B1").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(Sheet1!C3,RC[-1])" 'NB de lignes TOTAL pour la marque

    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=SUM(RC[1]:RC[9])" 'Somme du Nombre de Type par modèle

    Range("B3").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(R[1]C[1]:R[47]C[50],""*"")" 'Somme des Types pour la marque

    Range("B4").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(R[-3]C:R[-3]C[50],""*"")" 'Somme des modèle dans la marque

'Définitions des 4 variables
B1 = Range("B1")
B2 = Range("B2")
B3 = Range("B3")
B4 = Range("B4")

'Application d'une formule pour compter le NB de fois que se répète le modèle dans la marque.
C = 3 'changement de colonne
A = 0 'compteur de boucle

Do While A < B4 'activation de la boucle temps que A est inférieur à la cellule B4
Cells(2, C).Select
    ActiveCell.FormulaR1C1 = "=COUNTIFS(Sheet1!C3,R1C1,Sheet1!C4,R[-1]C)" 'Formule pour le NB de fois que se répète le modèle dans la marque

C = C + 1
A = A + 1
Loop

A = 0 'compteur de boucle
B = 3 'colonne
N = 0 'variable
O = 0 'Ligne
C = 0 'Ligne dans la formule F

Do While A < B4

Z = Cells(2, B)                             'NB modèle actuel
S = "=COUNTIF(R4C:R[" & Z & "]C,""*"")" 'Formule pour somme des modèles/marques

Cells(3, B).Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = S
    N = Cells(3, B)

Do While N < Z
'    F = "=IF(Sheet1!R[" & C & "]C4=R1C,Sheet1!R[" & C & "]C5,0)"   'Formule pour charque marque
    F = "=IF(Sheet1!R[" & C & "]C3=R1C1,IF(Sheet1!R[" & C & "]C4=R1C,Sheet1!R[" & C & "]C5,0),0)"

        Cells(4 + O, B).Select
        Application.CutCopyMode = False
        ActiveCell.FormulaR1C1 = F
        M = Cells(3 + O, B)
         'M = Case précédente

        If M <= 0 Then
        C = C + 1
        Else
        Cells(4 + O, B).Select
        Application.CutCopyMode = False
        ActiveCell.FormulaR1C1 = F
        M = Cells(4 + O, B)
        O = O + 1
        End If

    S = "=COUNTIF(R4C:R[" & Z & "]C,""*"")" 'Formule pour somme des modèles/marques

    Cells(3, B).Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = S
    N = Cells(3, B)

Loop

C = 0
A = A + 1
B = B + 1
O = 0

Loop
Sheets("Feuil2").Select
M1 = Range("A1")
If M1 = "CHEVROLET US/EU/SAM" Then
M1 = "CHEVROLET"
ElseIf M1 = "FORD / FORD US" Then
M1 = "FORD"
ElseIf M1 = "OPEL / SATURN / VAUXHALL" Then
M1 = "OPEL"
End If

    Cells.Select
    Selection.Cut
    With Sheets.Add
     .Name = M1
    End With
    ActiveSheet.Paste
B5 = B5 + 1
A0 = A0 + 1
Loop
End Sub

Merci d'avance

Bonjour,

le fichier ne veux pas être mis en pièce jointe

Les fichiers n'en font qu'à leur tête ces derniers temps !

Pour ma part, je pense que vous devriez revoir toutes les formules au style A1 car je pense que l'option R1C1 n'est pas forcément idéale dans votre cas...

Cdlt,

J'ai essayer à nouveau et la sa marche je ne comprend pas ... voici donc le fichier

pour ce qui est des formules je les créer en enregistrant la macro et je les modifies pour y intégrer mes variables.

Je ne sais donc par quoi remplacer.

Mais ceci fonctionne très bien car par moment il me faut utilisé soit une cellule fixe $C$1 ou des fois juste une colonne $C1.

Si vous connaissais une autre formule ou une solution plus simple, je suis ouvert à toute proposition.

Merci

6exemple.xlsm (82.96 Ko)
Rechercher des sujets similaires à "formule recherche"