Range et compagnie !

Le
JFL
Bonjour à tous !

Je viens vers vous pour solutionner un problème qui va très certainement
vous sembler simple à résoudre !


Dans une feuille j'ai un tableau nomme "Produits" qui est articulé de la
manière suivante

CodeProduit Libellé Quantité
201 Tradition 24
202 Rosé
203 Grand Cru 12


Je cherche au travers d'une fonction à récupérer dans une variable texte
le code du produit si la quantité commandée est non nulle.

En sachant que la variable texte devra séparer les différents codes par
un retour chariot pour "afficher" le texte en colonne.

Ex : la fonction devra me retourner:

201
203

Sur deux lignes grâce au retour chariot entre le "201" et le "203".


Suis je clair ?


Grand merci par avance à ceux qui me comprendront !


JFL
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #6717081
Bonjour.
Dans la fonction suivante, "plage" représente la plage des codes (de 201 à
203 de ton exemple) :

Function test1(Plage As Range)
Dim c As Range
For Each c In Plage
If c.Offset(, 2) <> "" Then test1 = test1 & c & Chr(10)
Next c
test1 = Left(test1, Len(test1) - 1)
End Function

Cordialement.
Daniel
PS. Dans le format de la cellule, tu dois cocher "renvoyer à la ligne
automatiquement"
"JFL" OdGjZ1%
Bonjour à tous !

Je viens vers vous pour solutionner un problème qui va très certainement
vous sembler simple à résoudre !


Dans une feuille j'ai un tableau nomme "Produits" qui est articulé de la
manière suivante

CodeProduit Libellé Quantité
201 Tradition 24
202 Rosé
203 Grand Cru 12


Je cherche au travers d'une fonction à récupérer dans une variable texte
le code du produit si la quantité commandée est non nulle.

En sachant que la variable texte devra séparer les différents codes par un
retour chariot pour "afficher" le texte en colonne.

Ex : la fonction devra me retourner:

201
203

Sur deux lignes grâce au retour chariot entre le "201" et le "203".


Suis je clair ?


Grand merci par avance à ceux qui me comprendront !


JFL


MichDenis
Le #6717071
Tu peux utiliser le filtre automatique ou
le filtre élaboré qui lui te permet de choisir la
ou les colonnes à afficher dans ta plage de résultat
de même que l'endroit où tu veux copier ces données.

Au besoin d'un code VBA, tu pars l'enregistreur de code VBA
et tu exécutes le filtre élaboré désiré ....Tu auras presque tout
le code ....et c'est beaucoup plus rapide que les boucles.!

Au besoin, quelqu'un d'autre peut t'envoyer un exemple de code !



"JFL" OdGjZ1%
Bonjour à tous !

Je viens vers vous pour solutionner un problème qui va très certainement
vous sembler simple à résoudre !


Dans une feuille j'ai un tableau nomme "Produits" qui est articulé de la
manière suivante

CodeProduit Libellé Quantité
201 Tradition 24
202 Rosé
203 Grand Cru 12


Je cherche au travers d'une fonction à récupérer dans une variable texte
le code du produit si la quantité commandée est non nulle.

En sachant que la variable texte devra séparer les différents codes par
un retour chariot pour "afficher" le texte en colonne.

Ex : la fonction devra me retourner:

201
203

Sur deux lignes grâce au retour chariot entre le "201" et le "203".


Suis je clair ?


Grand merci par avance à ceux qui me comprendront !


JFL
a supprimer
Le #6717491
Grand merci à vous deux !

Je retiens la solution VBA qui me convient parfaitement.

En fait je l'utilise ce code pour établir un facture pro-forma à
destination de nos clients.

Bien évidemment j'utilise des valeurs monétaires. Comment faire pour
obtenir que le contenu d'une cellule (14,30 € par exemple) me revienne
correctement formatée c'est à dire "14,30 €" et non pas "14,3", sachant
que la fameuse valeur texte transmise peut contenir sur plusieurs lignes
différentes valeurs monétaires ?

Par avance merci !

JFL
Daniel.C
Le #6718041
Si tu sélectionnes une plage de valeurs numériques :

Function test1(Plage As Range)
Dim c As Range
For Each c In Plage
If c.Offset(, 2) <> "" Then test1 = _
test1 & Format(c, "€ #,##0.00") & Chr(10)
Next c
test1 = Left(test1, Len(test1) - 1)
End Function

Daniel
"a supprimer" message de news:
Grand merci à vous deux !

Je retiens la solution VBA qui me convient parfaitement.

En fait je l'utilise ce code pour établir un facture pro-forma à
destination de nos clients.

Bien évidemment j'utilise des valeurs monétaires. Comment faire pour
obtenir que le contenu d'une cellule (14,30 € par exemple) me revienne
correctement formatée c'est à dire "14,30 €" et non pas "14,3", sachant
que la fameuse valeur texte transmise peut contenir sur plusieurs lignes
différentes valeurs monétaires ?

Par avance merci !

JFL


a supprimer
Le #6718561
Cela fonctionne merveilleusement bien !

Merci à vous !


JFL
Publicité
Poster une réponse
Anonyme