Faire une recherche V et H ?

  • Initiateur de la discussion Initiateur de la discussion Nour
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Nour

XLDnaute Nouveau
Bonjour à tous !

Tout d'abord, j'aimerais vous remercier pour votre aide !!!

J'essais de monter un fichier afin de faire des prévisions. Je vous joints mon fichier pour vous permettre de mieux comprendre et de voir ce qui ne fonctionne pas dans mon code.

Mon fichier est constitué de 3 feuilles excel :
1.Données : Représente les nouvelles données que je collent à chaque moi
2.Demande: c'est dans cette feuille que les données sur les mois précédents et le mois pour lequel je veux faire des prévisions vont aller.
3.Prévisions: c'est dans cette feuille que les prévisions seront calculées.

Voici comment mon programme fonctionne:

#1: Dans la feuille Données cellule G1 nous inscrivont le mois que nous voulons.=ça fonctionne (ahaha)
#2:La procédure compte combien de produits il y a dans la feuille Demande. =ça fonctionne
#3😀ans la feuille Demande, je cherche à trouver la ligne dans laquelle mes valeurs doivent se placer, en fonction du mois du #1. = FONCTIONNE PAS
#4😀ans les feuilles Données et Demande il y a une recherche qui est effectuée avec le code UPC (code de 5 chiffres, 2eme colonne de la feuille Demande) du produit afin que les quantités qui se trouve dans la 4e colonne de la feuille Demande se placent à la bonne ligne (représentée par le mois) et au bon produit. = Ne fonctionne pas

En fait, un autre problème se pose: Si dans ma feuille Données il y a 10 produits et que dans ma feuille Demande il y en a 11, comment faire pour que le programme le mette à 0 et qu'il continu sa recherche pour les autres produits ?

Merci d'avance pour votre aide. 🙂

Nour
 

Pièces jointes

Re : Faire une recherche V et H ?

Bonsoir Nour,

Essayez le code qui suit:
VB:
Sub Place_demand()

Dim i As Integer, j As Integer, K As Long
Dim cell As Range
Dim ws As Worksheet

Dim Product_Table As Range
Dim NbProduct As Integer
Dim MonthPosition As Integer

Dim sh1 As Worksheet, sh2 As Worksheet, sh3 As Worksheet

Set sh1 = ThisWorkbook.Worksheets("Données")
Set sh2 = ThisWorkbook.Worksheets("Demande")
Set sh3 = ThisWorkbook.Worksheets("Prévision")

'Compte le nombre de produits dans la feuille Demande
With sh2.Range("B1")
    Set Product_Table = Range(.Offset(0, 0), .End(xlToRight))
End With

NbProduct = Product_Table.Columns.Count 'Compte le nombre de produits

'Renvoit le numéro de ligne dans lequel se trouve le mois choisit dans la feuille Données
Dim Numligne As Integer
For i = 1 To sh2.Range("A" & Rows.Count).End(xlUp).Row
  If sh1.Cells(1, 7) = sh2.Cells(i, 1) Then
    'la date a été trouvée
    Numligne = sh2.Cells(i, 1).Row
    Exit For
  End If
Next i

If i > sh2.Range("A" & Rows.Count).End(xlUp).Row Then
  'La date n'a pas été trouvée -> on la rajoute
  MsgBox "Création du nouveau mois:  " & sh1.Cells(1, 7).Text
  sh2.Range("A" & Rows.Count).End(xlUp).Offset(1) = sh1.Cells(1, 7)
  Numligne = sh2.Range("A" & Rows.Count).End(xlUp).Row
End If

'Met la valeur des commandes du mois approprié pour chaque produit
For i = 2 To sh1.Range("A" & Rows.Count).End(xlUp).Row
  K = sh2.Cells(1, Columns.Count).End(xlToLeft).Column
  For j = 2 To K
    'rérérence trouvée
    If sh1.Cells(i, 2) = sh2.Cells(1, j) Then
      sh2.Cells(Numligne, j) = sh1.Cells(i, 4)
      Exit For
    End If
  Next j
  If j > K Then
    'La référence n'a pas été trouvée on la rajoute
    MsgBox "Nouveau REF produit " & sh1.Cells(i, 2) & " -> " & sh1.Cells(i, 3)
    sh2.Cells(1, K + 1) = sh1.Cells(i, 2)
    sh2.Cells(2, K + 1) = sh1.Cells(i, 3)
    sh2.Cells(Numligne, K + 1) = sh1.Cells(i, 4)
  End If
Next i

End Sub
 

Pièces jointes

Dernière édition:
Re : Faire une recherche V et H ?

Bonjour Nour, le forum,
A tout hasard, une suggestion. Remplacer la feuille « Données » par un formulaire qui comprendrait tous les produits figurant dans la feuille «Demande ».
Voir une autre : Créer une feuille « Bases » (comprenant les produits, les codes, les mois, les années) pour alimenter les autres feuilles et le formulaire.
Cordialement,
Bernard

P.S. Bonjour Mapomme : Mille excuses, je n'avais pas vu ton message, avant de poster le mien. La rapidité n'est pas mon point fort.
 
Dernière édition:
Re : Faire une recherche V et H ?

Salut à tout le monde, spécialement à Mapomme 🙂

Mapomme j'aurais besoin de te demander une petite question: si dans le même fichier sur lequel tu m'as aider, il y avait une troisième feuille Excel dans laquelle il y aurait exactement la même information et que je voulais que le code rajoute également les produits dans cette 3eme feuille, comment je fais sans devoir réécrire le même code une 2eme fois? Également, je voudrais être en mesure de les trier en ordre croissant depuis la ligne 1 jusqu'au nombre de produits(nb de colonnes). J'ai essayé une multitude de code mais il y a toujours des messages d'erreurs. Peux-tu m'aider. Merci énormément.🙄

Nour
 
Re : Faire une recherche V et H ?

Bonsoir Nour,

si dans le même fichier sur lequel tu m'as aider, il y avait une troisième feuille Excel dans laquelle il y aurait exactement la même information et que je voulais que le code rajoute également les produits dans cette 3eme feuille, comment je fais sans devoir réécrire le même code une 2eme fois?

Également, je voudrais être en mesure de les trier en ordre croissant depuis la ligne 1 jusqu'au nombre de produits(nb de colonnes). J'ai essayé une multitude de code mais il y a toujours des messages d'erreurs.

Si j'ai bien compris, voir fichier joint.
 

Pièces jointes

Re : Faire une recherche V et H ?

Bonjour à tous ! Bonjour mapomme 🙂 !

mapomme: Je te remercie pour ton aide, ta rapidité et tes bons conseils, je réalise que je suis méga-junior en VBA 🙁 (mais je t'avoue que tu m'as beaucoup appris).

Le code que tu m'as envoyé en V2 est excellent, il fonctionne très bien. J'aurais une question (si je peux me le permettre, sinon tu me le dit):

Les 4 feuilles excel soient: Données;Demande;Prévisions;Écarts

Pour ce qui est de la feuille Données: tout est ok
Pour ce qui est de la feuille Demande: tout est ok (si tu peux regarder dans la V3 j'ai divisé le code parce que je ne savais pas quoi faire) cette feuille est lié au sub Place_demand :ça fonctionne

Ma problématique se situe au niveau des feuilles Prévisions et Écarts:
J'ai divisé ton code en 3 sub (excuse mon ignorance). Dans les feuilles prévisions et écarts il faut seulement ajouter les produits qui ne sont pas là comme tu l'as fais dans le sub Place_demand au départ, par contre sans y mettre les valeurs de la 4eme colonnes de la sh1. (C'est ce que j'ai fais dans les Subs Calcul_prevision et Calcul_ecart)

Pour le cas de la feuille Prévisions je dois calculer la moyenne mobile des 3 derniers mois. (afin que tu comprennes dans la feuille Prévisions j'ai fais le calcul dans la cellule)
Pourle cas de la feuille Écarts je dois calculer l'écart entre ma prévision et ma demande réelle. (dans la feuille Écarts j'ai fais un exemple de calcul)

En fait, je ne sais pas comment faire la recherche entre les deux feuilles puisque la recherche dois se faire de la même façon (horizontalement)

Merci de m'aider, j'apprécie énormément 🙂

Nour
 

Pièces jointes

Re : Faire une recherche V et H ?

Bonsoir nour,

Un point m'intrigue:

Dans la cellule B5 de la feuille prévision ( août 11 pour le produit pomme) se trouve la formule:=MOYENNE(Demande!B3:B5)

La prévision est donc égale à la moyenne des demandes pour les mois de juin 11, juillet 11 et août 11

Autrement dit la prévision pour août 11 inclut la demande pour août 11: est ce bien exact ?
 
Dernière édition:
Re : Faire une recherche V et H ?

Bonsoir Mapomme,

Tu as bel et bien raison je me suis radicalement trompée :S Il faudrait ajouter le mois suivant août 2012 qui est septembre 2012 (afin de prévoir ce mois bien évidement :S) dans la feuille prévisions et écarts.


Merci pour tout Mapomme 😀, tu as fais une bonne remarque, je vais tacher de m'en souvenir.

Nour
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
284
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
298
Retour