Trouver le n° d'une ligne en fonction de la valeur d'une Inputbox

Résolu/Fermé
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 10 nov. 2020 à 20:06
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 - 21 nov. 2020 à 16:11
Bonjour,
j'ai encore un petit problème :
j'ai des n° de bons de commandes dans la colonne A et j'ai bcp d'indications sur ces bons de commande dans les colonnes adjacentes.
Il y a certaines fois où l'on doit soit rectifier des données, soit annuler un Bon de commande.
Je voudrais, à l'aide d'une InputBox entrer le N° du Bon de commande recherché, trouver sur quelle ligne il se trouve afin que je puisse aller faire des rectifications sur cette ligne ou plutot lui imputer certains calculs .

Exemple :
j'ai un bon de commande qui porte le n° 57, il se trouve sur la ligne 120 (mais ça je ne le sais pas encore)
je voudrais que VBA me dise : il se trouve ligne 120 et que en donnant les références cells(x,120) je puisse effectuer une opération dans les différentes colonnes toujours en ligne 120

Me suis je bien fait comprendre ?
J'ai cherché tout cet après midi sur différents forums, j'ai vu beaucoup de propositions, mais aucune ne traitant MON cas, alors je m'en remets à vous.
D'avance Merci



Configuration: Windows / Chrome 86.0.4240.183
A voir également:

4 réponses

yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
10 nov. 2020 à 20:41
bonjour,
peux-tu partager ton fichier?
si c'est une recherche à faire dans une zone où il n'y a que des N° de Bons de commande, tu peux utiliser find.
sinon, il faut faire le tour des cellules, un peu comme le code fait pour trouver de la place libre pour enregistrer une commande dans PLANNING.
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
Modifié le 10 nov. 2020 à 20:50
un exemple, pour chercher le bon de commande 43:
Dim chercherou As Range, trouve As Range, nlig As Long
Set chercherou = Intersect(ThisWorkbook.Sheets("Historique_facture").UsedRange,  _
       ThisWorkbook.Sheets("Historique_facture").Columns("a"))
Set trouve = chercherou.Find(43)
If Not trouve Is Nothing Then
    nlig = trouve.Row
End If
0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
10 nov. 2020 à 20:42
Bonsoir,
Je pense qu'une copie du classeur épuré de ses données sensibles serait la bienvenue afin de pouvoir faire une application au plus proche de la réalité.

https://www.cjoint.com/

Merci
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
11 nov. 2020 à 11:50
Bonjour,
voici une copie de mon fichier épuré :
https://www.cjoint.com/c/JKlkVztCYyg

entre les colonnes H et I, je voudrais intercaler une colonne.
en entrant par un inputbox le n° du bon de commande que je veux annuler, je voudrais me retrouver sur la ligne correspondante. Il me suffirait alors d'inverser le signe du montant dans ma nouvelle colonne et j'aurais ainsi un solde nul pour cette commande annulée, mais elle resterait toujours visible.
Merci de votre aide
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
11 nov. 2020 à 13:53
as-tu regardé ma suggestion d'hier à 20h49?
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
11 nov. 2020 à 15:50
Oui, je l'avais regardée, mais pas essayée, j'avais 'abord préféré répondre à la demande d'envoyer mon fichier.
Maintenant, je vais l'essayer d'ici une heure.
Merci de ton aide.
je reviens te dire comment ça va quand je l'aurai testée.
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
12 nov. 2020 à 12:30
Bonjour,
et voilà ! j'ai essayé ton code et cela fonctionne à merveille.
je viens d'y ajouter un msgbox juste pour voir le n° de ma ligne.
Je vais maintenant essayer de mettre un Inputbox pour entrer le n° de BC que je désire et voir si je peux remplacer le "FIND(43)" par find( référence de mon inputbox)

encore une fois, merci beaucoup.
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
21 nov. 2020 à 16:11
pourras-tu marquer cette discussion comme résolue?
0