Recherche cellule précise pour insérer un chiffre par rapport à une cellule

Salut Galiax,

pfiouu, cela remonte loin! Fallait déjà se replonger dedans!

J'ai trouvé, je pense, les problèmes!

    For x = 1 To UBound(tTab, 1)
         If InStr(tTab(x, 2), "Date de remise") > 0 Then _
            If CInt(tTab(x + 1, 1)) <> iTour Or iIdx = 0 Then _
            iIdx = iIdx + 1: _
            iTour = CInt(tTab(x + 1, 1)): _
            ReDim Preserve tExtract(iCol + 1, iIdx): _
            tExtract(0, iIdx - 1) = iTour
         If InStr(tTab(x, 1), "M-") > 0 Then sItem = tTab(x, 1)
         If InStr(tTab(x, 2), "M-") > 0 Then sItem = tTab(x, 2)
         If sItem <> "" Then
            For y = 3 To 7
                If tTab(x, y) <> "" Then _
                    iStep = y: _
                    Exit For
            Next
            For y = 1 To iCol
               If InStr(tType(2, y), sItem) > 0 Then
                  ' nouvelle condition pour limiter M-2 à 1 boîte
                  If sItem = "M-2" And Fix(CInt(Replace(tTab(x, iStep), " ", "")) / CInt(tType(1, y))) > 1 Then
                     tTab(x, 7) = 1
                  Else
                     ' sinon, l'on traite normalement
                     tTab(x, 7) = Fix(CInt(Replace(tTab(x, iStep), " ", "")) / CInt(tType(1, y)))
                     tExtract(y, iIdx - 1) = CInt(tExtract(y, iIdx - 1)) + CInt(tTab(x, 7))
                     Exit For
                  End If
               End If
            Next
            sItem = ""
         End If
      Next

Je teste systématiquement dans quelle colonne se trouve le montant = iStep (à déclarer en début de procédure).

- Service téléchargement indisponible -

À tester.

A+

Bonjour Curulis57,

excellent, je le test et te fais un retour demain!

merci bcp

Bonsoir,

Test concluant, merci beaucoup pour la modif du code!

@++

Bonjour,

je me permets de ré-ouvrir ce sujet car j'essaye de l'adapter pour un fichier presque équivalent au lieu des M-xx c'est B-xx mais je n'y arrive pas .

si quelqu'un à une idée.

En bref, j'aimerais qu'il s'affiche : 1 brique à partir de 50 000 pour les B-50

1 brique à partir de 20 000 pour les B-20

1 brique à partir de 10 000 pour les B-10

1 brique à partir de 5 000 pour les B-5

Cordialement

Galiax

Salut Galiax,

tu aimes bien revenir faire un petit coucou tous les deux ans, dirait-on!
Le temps de me replonger dedans, si tu veux bien...

A+

salut curulis57,

Et oui ça date🤔, je te laisse revoir ce que tu m avais proposé à l'époque.

Merci A+

Salut Galiax,

Vois si ça donne les résultats voulus avec ces corrections

If InStr(tType(2, y), sItem) > 0 Then

Avec tType(2,... plutôt que tType(1,...

tTab(x, 7) = Fix(CLng(Replace(tTab(x, iStep), " ", "")) / CLng(tType(1, y)))

Clng plutôt que CInt puisque tes nombres peuvent dépasser 32000.

            For y = 1 To iCol
               If InStr(tType(2, y), sItem) > 0 Then
                  ' nouvelle condition pour limiter M-2 à 1 boîte
                  'If sItem = "B-5" And Fix(CLng(Replace(tTab(x, iStep), " ", "")) / CLng(tType(1, y))) > 1 Then
                     'tTab(x, 7) = 1
                  'Else
                     ' sinon, l'on traite normalement
                     tTab(x, 7) = Fix(CLng(Replace(tTab(x, iStep), " ", "")) / CLng(tType(1, y)))
                     tExtract(y, iIdx - 1) = CInt(tExtract(y, iIdx - 1)) + CInt(tTab(x, 7))
                     Exit For
                 ' End If
               End If
            Next

A+

Re,

j'ai modifié le code, mais ça ne marche pas pour la dernière colonne B-5 et si j ajoute la colonne B-100€ ça n'affiche plus le résultat de la colonne H "B-10€"

A+

image image

Salut Galiax,

en fin de macro Activate(), tu as ces deux lignes qui effacent la colonne [E]

 'Range("E3:E150").Select
    'Selection.ClearContents

A+

salut curulis57,

Je l'ai supprimé mais ça ne calcule toujours pas les B-5 (colonne I) et les B-10 (colonne H) ne se calcule pas si la colonne E est rempli

Exemple sur la tournée 777 j'ai ajouté des B-100 et B-5

image image

Ah, oui, c'est à cause de instr().
Je regarde tout à l"heure dès que j'ai 2 minutes!

A+

Correction.

For y = iCol To 1 Step -1
If InStr(tType(2, y), sItem) > 0 Then

            For y = iCol To 1 Step -1
               If InStr(tType(2, y), sItem) > 0 Then

Devrait aller beaucoup mieux maintenant!

A+

Re,

EXCELLENT c'est tout BON, merci beaucoup curulis57.

Du coup, tu peux m'aider sur un autre fichier ou on doit chercher des infos sur des cellules précises et les copier dans un autre onglet ou fichier.

Salut Galiax,

si ta demande concerne un autre problème, crée un nouveau sujet que tout le monde puisse y participer.
Il y a beaucoup de petits génies ici!

Et pour ce fichier-ci,... à dans deux ans,, peut-être!?

A+

Ok ça marche, je vais faire un autre sujet, MERCI encore et à dans 2 ans

Galiax

Rechercher des sujets similaires à "recherche precise inserer chiffre rapport"