Recherche de lignes grâce a une colonne

Bonjour,

Je cherche une solution, dans le cadre d'un projet je dois :

Prendre le contenu pour de la cellule de colonne A lorsque la ligne associé a comme quantité(F) >0

Pour cela j'imagine qu'il faut donc recherche dans la colonne quantité les lignes ou la valeur est >0 et y récupérer la valeur de la cellule en colonnes A

J’espère être assez clair, je peux réexpliquer si il y a besoin

Merci d'avance

Bonjour et bienvenue !

Si tu t'étais relu, je pense que tu aurais su si tu avais été clair ou non.

Sans vouloir divulgacher (sans rire, quel aberration ce mot !) la réponse, j'ai bien peur qu'elle soit négative.

Essaie de poster un fichier avec ce que tu attends. En l'état actuel des choses, ça risque d'être difficile de te venir en aide.

Excusez-moi
Ci-joint un fichier permettant je l’espère de mieux me faire comprendre

Je souhaite donc récupérer les articles quand la quantité est >0

9exemple.xlsx (8.07 Ko)

Re,

"Récupérer", ça veut dire quoi ? On peut en faire des dizaines de choses, des valeurs supérieures à 0...

Essaie de dire clairement ce que tu souhaites qu'il se passe, ou fais le en dur sur ton fichier, qu'on arrive à en sortir une logique.

Mettre dans une variable le contenu de la cellule A quand la quantité est >0

Dans l'exemple je voudrais que la variable récupère 1A002, 1A004 et 1B001.

Sachant que le fichier original comprend + de 500 articles

Je ne suis pas un pro de la programmation mais j'imagine qu'il faudrait quelque chose du genre

Si cellules de la colonnes F >0 alors lignes correspondantes = i

puis Articles = A(pour la colonnes A):i (pour les lignes correspondantes)

Re,

Il y a plein de façons de faire. Je voulais essayer de faire une proposition la plus rapide d'exécution possible.

Je pensais que ceci ferait l'affaire, mais ça foire pour le moment. Incompatibilité de type au moment de remplir le Arrc. Si quelqu'un voit ce que j'ai manqué, je suis preneur !

Sub extraire()
Dim Arrc, Arrs
Dim n As Integer

With Sheets("feuil1")
    dl = .Cells(.Rows.Count, 1).End(xlUp).Row: If dl < 2 Then Exit Sub

Arrs = .Range(.Cells(1, 1), .Cells(dl, 6)).Value
'Arcc = Cells(1, 9).CurrentRegion.Value
    For i = 1 To dl
        n = 0
        If Cells(i, 6) > 0 And Cells(i, 6) <> "Quantité" Then
            n = n + 1
            Arrc(n, 1) = Arrs(i , 1)
        End If
    Next i

    Columns("I:I").ClearContents
    .Range(.Cells(1, 9), .Cells(n, 9)) = Arrc
End With
End Sub
image

Ok Merci !

Je vais y regarder mais en tout cas merci beaucoup de m'avoir aidé

Bonne journée

bonjour

sans vba ,en adaptant aux 500lignes

10skip.xlsx (8.64 Ko)

C'est une bonne idée je garde ça sous le coude !

Néanmoins, c'est tu le changement à apporter pour que ce qui est affiché en case jaune soit supérieur ou égal a la valeur rentrée et non pas juste égal ?

Merci

D'ailleurs JoyeuxNoel, j'ai remarqué que le problème d'incompatibilité de type apparait lorsque la quantité est supérieur à 0, cela t'aideras peut-être a résoudre le problème

Oui, je sais bien

Quand c'est supérieur à 0, il est censé remplir la variable, sauf qu'en fait il ne le fait pas. Tant que ce n'est pas supérieur à 0, il passe à la suite sans essayer de remplir.

Alors j'ai trouvé une solution enfin à moitié, en déclarant Arrc comme un tableau (Dim Arrc(5000, 5000)) la boucle toune, j'aimerais maintenant afficher Arcc dans une case afin de vérifier le bon fonctionnement mais ça ne veut pas :/

ActiveSheet.Cells(I, 8).Value = Arrc

Si je saisis "bonjour" a la place de Arrc, bonjour apparait bien aux lignes où la quantité est supérieur à 0

Mais l'article ne veut pas s'afficher tu aurais une solution ?

Bon sang, j'suis vraiment un blaireau.

Normalement ceci fonctionne. Tu as l'air de te débrouiller dans les codes, de ce que j'ai pu voir de tes retours. Tu devrais pouvoir l'adapter à ton besoin. Si ça coince, n'hésite pas à redemander.

Sub extraire()
Dim Arrc, Arrs
Dim n As Integer

With Sheets("feuil1")
    dl = .Cells(.Rows.Count, 1).End(xlUp).Row: If dl < 2 Then Exit Sub

Arrs = .Range(.Cells(1, 1), .Cells(dl, 6)).Value
nb = Application.WorksheetFunction.CountIf(Range("F:F"), ">0")
Arrc = .Range(.Cells(1, 9), .Cells(nb, 9)).Value
n = 0
    For I = 1 To dl
        If Cells(I, 6) > 0 And Cells(I, 6) <> "Quantité" Then
            n = n + 1
            Arrc(n, 1) = Arrs(I, 1)
        End If
    Next I

    Columns("I:I").ClearContents
    .Range(.Cells(1, 9), .Cells(n, 9)) = Arrc
End With
End Sub

C'est parfait !

Merci beaucoup de ton aide :)

Bonne fin de semaine à toi

Cool si ça fonctionne. Mais ça reste bancal. J'aimerais bien qu'un spécialiste offre une solution plus stable et logique que celle-ci !

re

donc pour du sup ou egal à ; toujours sans vba pour ceux qui en sont privés

cordialement

9skip2.xlsx (8.65 Ko)

Merci à toi aussi tulipe_4 !

Bonne journée

Je reviens vers toi JoyeuxNoel puisque dans mes tableaux ou il y a + 600 articles, certains (ceux de la fin) ne s'affiche pas dans la liste des articles avec une quantité >0 :/, t'as une idée du pourquoi de comment ?

Comme ça, à l'aveugle, non, aucune.

Rechercher des sujets similaires à "recherche lignes colonne"