> Tous les forumsAutres langages

 VBA
Statut du sujet : NON RESOLU Imprimer
 jemiyo
  Posté le 04/04/2007 @ 10:35  
 Petit astucien


300 Messages

Bonjour,

Je cherche à comprendre EN BON VIEUX FRANCAIS le langage de ce code VBA.

Option Explicit Function rechercheprix(qualite As String, depot As String, fournisseur As String, decalage As Integer)Dim i As IntegerDim j As LongApplication.Volatile With Sheets("Réceptions") « Là il va sur ma feuille réception »' recherche de la colonne qui contient les prixFor i = 1 To 27 If .Cells(3, i) = qualite Then i = i + decalage ' decalage entre le nom de la zone et la colonne prix Exit For End IfNext i' recherche de la ligne avec les deux conditionsFor j = 5 To .Range("C65536").End(xlUp).RowIf .Range("C" & j) = fournisseur And .Range("E" & j) = depot Then « Là il cherche le rang C et J dans Fournisseur » rechercheprix = .Cells(j, i) Exit Function End IfNext jEnd WithRechercheprix = False ' pour indiquer que le prix n'a pas été trouvéEnd FunctionEnd Function

Merci.

 Afficher le profil de jemiyoEnvoyer un message privé à jemiyo
 
 
Publicité
 breizhbugs  Posté le 04/04/2007 à 11:15  
Astucien

3001 Messages
Avec des retour a la ligne, il ressemble a quoi ton code?
Afficher le profil de breizhbugs Voir la configuration de breizhbugsEnvoyer un message privé à breizhbugs
 Revenir en haut de la page
 jemiyo  Posté le 05/04/2007 à 16:43  
Petit astucien


300 Messages

Bonjour,

Avec toutes mes excuses:

Option Explicit

Function rechercheprix(qualite As String, depot As String, fournisseur As String, decalage As Integer)Dim i As IntegerDim j As LongApplication.Volatile With Sheets("Réceptions") « Là il va sur ma feuille réception »' recherche de la colonne qui contient les prixFor i = 1 To 27 If .Cells(3, i) = qualite Then i = i + decalage ' decalage entre le nom de la zone et la colonne prix Exit For End IfNext i' recherche de la ligne avec les deux conditionsFor j = 5 To .Range("C65536").End(xlUp).RowIf .Range("C" & j) = fournisseur And .Range("E" & j) = depot Then « Là il cherche le rang C et J dans Fournisseur » rechercheprix = .Cells(j, i) Exit Function End IfNext jEnd WithRechercheprix = False ' pour indiquer que le prix n'a pas été trouvéEnd Function

A +

Afficher le profil de jemiyoEnvoyer un message privé à jemiyo
 Revenir en haut de la page
 jemiyo  Posté le 05/04/2007 à 16:45  
Petit astucien


300 Messages
Option Explicit

Function rechercheprix(qualite As String, depot As String, fournisseur As String, decalage As Integer)

Dim i As IntegerDim j As LongApplication.Volatile With Sheets("Réceptions") « Là il va sur ma feuille réception »' recherche de la colonne qui contient les prixFor i = 1 To 27 If .Cells(3, i) = qualite Then i = i + decalage ' decalage entre le nom de la zone et la colonne prix Exit For End IfNext i' recherche de la ligne avec les deux conditionsFor j = 5 To .Range("C65536").End(xlUp).RowIf .Range("C" & j) = fournisseur And .Range("E" & j) = depot Then « Là il cherche le rang C et J dans Fournisseur » rechercheprix = .Cells(j, i) Exit Function End IfNext jEnd WithRechercheprix = False ' pour indiquer que le prix n'a pas été trouvéEnd Function
Afficher le profil de jemiyoEnvoyer un message privé à jemiyo
 Revenir en haut de la page
 jemiyo  Posté le 05/04/2007 à 16:51  
Petit astucien


300 Messages

Option Explicit

Function rechercheprix(qualite As String, depot As String, fournisseur As String, decalage As Integer)

Dim i As Integer

Dim j As Long

Application.Volatile

With Sheets("Réceptions") « Là il va sur ma feuille réception »

' recherche de la colonne qui contient les prix

For i = 1 To 27

If .Cells(3, i) = qualite Then

i = i + decalage ' decalage entre le nom de la zone et la colonne prix

Exit For

End If

Next i

' recherche de la ligne avec les deux conditions

For j = 5 To .Range("C65536").End(xlUp).Row

If .Range("C" & j) = fournisseur And .Range("E" & j) = depot Then « Là il cherche le rang C et J dans Fournisseur »

rechercheprix = .Cells(j, i)

Exit Function

End If

Next j

End With

Rechercheprix = False ' pour indiquer que le prix n'a pas été trouvé

End Function

Afficher le profil de jemiyoEnvoyer un message privé à jemiyo
 Revenir en haut de la page
 breizhbugs  Posté le 05/04/2007 à 18:34  
Astucien

3001 Messages

Merci pour la mise en page .

Tu aurais pu utiliser la fonction éditer (Modifier la réponse) au lieu de poster plusieurs fois.

Bon j'utilise pas excell et je ne connait pas non plus le tableau dans lequel tu fais l'analyse mais en gros tu donnes 4 renseignements a la fonction (la qualité, le depot, le fournisseur et le decalage - comprends pas trop ce dernier) et avec ces renseignement elle va essayer de trouver un prix dans la feuille excell "receptions".

Je suppose que la feuille compte 27 colonnes que l'on va parcourir pour cherche le parametre qualité. si l'on trouve la colonne, on sort de la boucle for i... en conservant la valeur de i.

Le j va nous servir a parcourir les lignes de la feuille. on va rechercher la ligne ou se trouve les valeurs "fournisseur" et "depot" passé en parametre. Si l'on trouve la ligne, on renvoie la valeur de la colonne (j,i) qui correspond au prix recherché.

Si l'on sort de cette boucle normalement, c'est que la recherche a echoué et donc rechercheprix renvoi "faux"



Modifié par breizhbugs le 05/04/2007 18:34
Afficher le profil de breizhbugs Voir la configuration de breizhbugsEnvoyer un message privé à breizhbugs
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Les sujets pertinents liés
VBA : underscore fin de ligne
Remplacer point par virgule dans VBA
Pb VBA : insérer checkbox avec cellule liée
Configuration imprimante pdf
Imprimer une feuil en pdf
Excel pdf
Pb entre VBA Excel 97 et Excel 07
programmation vba et interruption
COBOL
Supprimer un enregistrement en vba
VBA
fonction
appeler des touches clavier dans une macro Excel
EXCEL
Script Pres : vba ???
requête multicritères vba (RESOLU)
VBA - Format Date
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsAutres langages

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page