Tableau récapitulatif d'offres

Fermé
Max29 - 14 août 2009 à 15:54
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 - 19 août 2009 à 20:01
Bonjour,

Je suis actuellement en stage et développe un outil sur excel pour permettre de réaliser plus rapidement des devis. Mais voilà, alors que mon fichier est presque terminé, je bloque sur un gros problème. En effet, afin que mon devis se remplisse automatiquement, il faut préalablement remplir une fiche de renseignements à la fin de laquelle se trouve un tableau dont le but est de récapituler les offres possibles en fonction des critères renseignés.

J'ai utilisé des fonctions SI imbriquées et des fonctions recherchev. Pourtant à chaque fois le résultat correspond systématiquement au dernier produit de ma liste alors qu'il y a des produits précédents qui répondent aux mêmes critères.

Y aurait-il quelqu'un qui pourrait m'aider ? Je pensais éventuellement construire une macro mais je suis novice dans ce domaine-ci...
A voir également:

30 réponses

bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
14 août 2009 à 17:28
Bonjour,

Je pense que les If imbriquées se comportent de la façon suivante : Si ils rencontrent plusieurs possibilités, ils ne gardent que la dernière ...

Pour que cela marche, il faut effectivement, je pense (mais peut-être que quelqu'un à une solution plus simple ^^), faire une macro, pour enregistrer les choix valables au fur et à mesure.

Pour se faire, je vous conseille de nous expliquer plus en détails votre fichier, ou, pourquoi pas, poster votre document Excel (élaguée si confus)...

Bon après-midi !
0
Il y a 3 critères importants que la formule doit prendre en compte : la marque, la puissance et le prix.

Les fonctions recherche ont pour matrice une autre feuille du fichier qui correspond à une base produit et qui contient également ces 3 critères.

Voici la formule telle quelle est pour le moment : =SI(ET(C48="aleo";RECHERCHEV(C48;'BASE PRODUIT'!$B$5:$Z$19;24)=$D$15;RECHERCHEV(C48;'BASE PRODUIT'!$B$5:$Z$19;25)=$D$16);RECHERCHEV(C48;'BASE PRODUIT'!$B$5:$Z$19;3))

J'ai tenté de construire une macro recherche mais je bloque également ! Est-il possible d'imbriquer des fonctions SI dans une macro ?
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
14 août 2009 à 21:35
oui, on peut tout faire avec une macro, dîtes moi ce que vous n'arrivez pas à faire faire à votre fichier ^^!
0
Ce que je cherche donc à faire c'est une macro recherche qui permettrait d'afficher les offres de produit possibles en fonction des critères émis. En gros, le but de la macro est d'afficher plusieurs résultats comme pourrait le faire un logiciel professionnel.

Voici le code macro que j'avais entré (après plusieurs recherches sur internet) :

Sub Test()
Dim Formule As String
Dim Module As Integer
Formule = "=VLOOKUP(C48,'BASE PRODUIT'!B5:Z19,3,FALSE)"
ActiveCell.Offset(0, 0).Value = Formule
ActiveCell.Offset(1, 0).Select
End Sub
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
14 août 2009 à 22:30
Désolé, j'ai l'impression d'être simplet ! Mais, pouvez vous donner un exemple concret de où et quoi doit aller chercher la macro ?

Je pense que la macro devrait plutôt s'apparenter à quelque chose du goût :

Je vais chercher quelque chose qui correspond, je l'enregistre et je le met dans la première case vide de mon tableau, puis suite de la recherche, si nouvelle chose qui correspond, je l'enre... et ainsi de suite !

Est-ce proche de ce que vous souhaitez faire ?


+
0
Le principe de fonctionnement du tableau est le suivant :

il faut remplir préalablement plusieurs préférences dont la marque, la puissance et le prix. Il faut en outre renseigner les dimensions de l'installation.

Après tout cela, ce que j'aimerais c'est que mon tableau indique toutes les offres possibles qui répondent aux critères rentrés.

Par exemple, pour une marque X, une puissance Y et un prix W, dans ma base produit je vois qu'il y a 3 offres correspondantes et je voudrais donc que ces 3 offres apparaissent dans le tableau (puisque vous l'aurez compris la base produit ne sera pas visible)

L'intérêt de ce tableau est de permettre à l'utilisateur de choisir le produit sur lequel faire le devis.

En espérant que ces indications te permettent de mieux comprendre mon problème ^^.

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
15 août 2009 à 09:53
Bonjour,

dépose donc un fichier exemple sur cijoint.fr et colle ici le lien fourni
eric
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
15 août 2009 à 15:25
Je travaille sur le code, j'ai plusieurs questions concernant la qualité des recherches que la macro doit effectuer...

Le prix, la marque et la puissance doivent être recherché dans quel ordre, avec quel rigueur, je veux dire:

si je trouve la bonne marque, le bon prix mais que la puissance est légèrement inférieur, dois-je quand même le faire figurer dans la recherche... ?

Plus vous serez précis sur la qualité de la recherche qui doit être effectuer, mieux cela sera :) !
0
Globalement, si on choisit une marque X la macro doit uniquement chercher les références de cette marque X (de même pour les autres marques - 3 au total). Ensuite, si le prix reste un critère important, la puissance peut varier. Je m'explique :

L'utilisateur définit une puissance souhaitée (par exemple 2500<>3000). Ensuite il rentre les dimensions de l'installation ce qui lui permet d'avoir le nombre théorique de produit à installer. Simultanément, dans la base prix, le nombre effectif de produit par référence est calculé. Finalement, le résultat final peut légèrement différé des préférences de départ.

Pour revenir à nos moutons, il faudrait donc (dans la mesure du possible) que la macro aille chercher les produits en fonction de la marque désirée, du prix souhaitée et de la puissance avec une marge de + ou - 10%.

NB : je m'excuse mais je ne pourrai vous communiquer le fichier (celui-ci doit rester confidentiel).
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
15 août 2009 à 22:47
je comprend, je vais donc tenir compte de la marge de 10 % autour de la valeur rentrée par l'utilisateur ;)

à demain !
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
16 août 2009 à 15:15
Bonjour,

Voici le lien vers le fichier que j'ai préparé : https://www.cjoint.com/?iqpoAhqMTU
Je vous laisse découvrir et poser vos questions sur le code ;) (je n'ai pas mis de commentaire pour que vous essayer de comprendre la logique par vous même, et placiez vos propre commentaire)

++
0
Merci beaucoup pour ce travail énorme !!! Je vais essayer de l'adapter à mon fichier (je n'hésiterai pas à vous recontacter en cas de problème).

De nouveau, un grand merci !!!
0
Max29 > Max29
17 août 2009 à 19:16
Salut,

De nouveau merci pour cette macro. J'ai essayé aujourd'hui de la transposer pour mon fichier. Pour mieux la comprendre je l'ai recopiée petit à petit (et pas de copier/coller). Par contre, j'ai un problème. Après avoir rentré le code cells.find(...).Activate vba me demande de rajouter with. Du coup je le fais mais après il me réclame de définir la colonne marque comme objet ou variable.

Je vais continuer à plancher dessus mais si vous pouvez me donner un p'tit coup de main ce ne serait pas de refus !

Par ailleurs, j'ai deux précisions à rajouter :

- il me semble que dans votre macro vous n'ayez pas pris en compte le modèle de la marque (exemple : dans votre fichier, en plus de vos marques il faudrait des modèles comme la clio, la mégane pour renault).

- quand il y a plusieurs offres possibles comment la macro réagit-elle ?
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
17 août 2009 à 19:28
non en effet, je n'ai pas tenu compte du modèle d'une marque, on peut remédié à cela en liant la recherche de la marque au modèle...

Dans la partie recherche de la marque, il suffit de rajouter une condition supplémentaire sur le modèle !
Comme je ne savais pas comment rendre la recherche, j'ai simplement fait en sorte que les différentes offres possibles se mettent les unes en dessous des autres (cela correspond à la variable m qui commence à la ligne 6 et qui n'incrémente à chaque fois que l'on ajoute une offre)

sinon, je vous propose de me passer le code que vous avez modifiez, pour voir comment remédier au problème du with et de la recherche de la colonne ;) !

à plus tard!



modele_rech = Cells(4, 2).Value

Sheets("produit").Activate

If (marque_rech <> "") Then

    Cells.Find(What:="marque", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate

    colonne_marque = ActiveCell.Column
    
    Cells.Find(What:="modèle", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate

    colonne_modele = ActiveCell.Column
    
    While (Cells(i, colonne_marque).Value <> "")
        
        If (marque_rech = Cells(i, colonne_marque).Value And modele_rech = Cells(i, colonne_modele).Value) Then
            table_resultat(n) = Cells(i, colonne_marque).Row
            n = n + 1
        End If
    i = i + 1
    Wend

Else
MsgBox "Entrer une marque pour effectuer la recherche"
End If
0
Voici le code sur lequel ma macro bloque :

Sub Recherche()
Dim marque_rech As String
Dim puissance_rech As Variant
Dim prix_rech As Variant
Dim colonne_marque As Integer
Dim colonne_puissance_totale As Integer
Dim colonne_tranche As Integer
Dim table_resultat(150) As Integer
Dim puissance As Variant
Dim prix As Variant
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim m As Integer
Dim n As Integer
i = 1
j = 1
k = 1
l = 1
m = 46
n = 1

Sheets("dimensionnement").Activate
marque_rech = Cells(10, 4).Value
puissance_rech = Cells(13, 4).Value
prix_rech = Cells(14, 4).Value


Sheets("base produit").Activate

colonne_marque = ActiveCell.Column

If (marque_rech <> "") Then

Cells.Find(what:=(marque_rech), after:=ActiveCell, LookIn:=xlFormulas, lookat:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False, searchformat:=False).Activate

While (Cells(i, colonne_marque).Value <> "")

If (marque_rech = Cells(i, colonne_marque).Value) Then
table_resultat(n) = Cells(i, colonne_marque).Row
n = n + 1
End If
i = i + 1
Wend
End If
End Sub

Plus précisément, c'est au niveau du code commençant par "Cells.Find(...).Activate". Vba m'annonce "Erreur d'exécution '91' : variable objet ou variable de bloc With non définie".

Je tiens à préciser que sur votre fichier, la macro fonctionne très bien.
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
17 août 2009 à 20:04
Enfait, il s'agit d'une erreur assez simple à résoudre, vous avez placé la recherche de l'entête de colonne après avoir attribué le numéro de la colonne


colonne_marque = ActiveCell.Column 



doit se situer juste après la recherche. En effet, celle ci à pour seul but d'activer la cellule d'entête de la colonne qu'on cherche, et après on note la colonne de la cellule qu'on a activé ...


Cells.Find(what:=(marque_rech), after:=ActiveCell, LookIn:=xlFormulas, lookat:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False, searchformat:=False).Activate 

colonne_marque = ActiveCell.Column 



Peut surement se simplifier d'ailleurs en (mais que je trouve moins clair) :


colonne_marque = Cells.Find(what:=(marque_rech), after:=ActiveCell, LookIn:=xlFormulas, lookat:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False, searchformat:=False).Column

0
Je suis désolé d'insister, mais même en corrigeant cette erreur, vba m'indique le même message d'erreur au même niveau (en gras)

Sheets("base produit").Activate

If (marque_rech <> "") Then

Cells.Find(What:=(marque_rech), After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase _
:=False, SearchFormat:=False).Activate


colonne_marque = ActiveCell.Column

While (Cells(i, colonne_marque).Value <> "")

If (marque_rech = Cells(i, colonne_marque).Value) Then
table_resultat(n) = Cells(i, colonne_marque).Row
n = n + 1
End If
i = i + 1
Wend

Else
MsgBox "Entrer une marque pour effectuer la recherche"
End If

J'ai simplement modifié le nom des feuilles par rapport à votre modèle. Peut-être faut-il modifier d'autres paramètres au début de la macro comme "i", "j", "k"... ou alors changer "integer" par "object" ou "variante".

Pour info, je travaille sur excel 2007.
0
Max29 > Max29
17 août 2009 à 23:29
J'ai réussi (après d'immenses efforts) à trouver la solution de mon problème. Par contre, maintenant que la macro semble fonctionner (en tout cas elle n'affiche plus de message d'erreur), il ne se passe rien.
Je pense savoir d'où vient le problème c'est pourquoi j'aimerais bien que vous me précisiez un peu plus ce que représentent les lettres "i, j, k, l, m, n".

Sont-elles le résultat d'un choix arbitraire ? Sont-elles des variables inhérentes aux macros ?

Je tiens d'ailleurs à préciser que mes critères de choix n'apparaissent pas sous forme numérique mais de la manière suivante (exemple) :

- puissance : 2000<>3000
- prix : 2.50<>3.00

Une telle présentation peut-elle avoir une incidence sur le bon fonctionnement de la macro ?

++
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
18 août 2009 à 02:50
Les lettres i, j, k ect sont arbitraires et pris comme "compteur de boucle" dans plusieurs cas.

Par ailleurs, aucun résultat ne s'affichent s'y les prix/puissances dans la table où la recherche s'effectue sont d'une forme autre que nombre, en effet on compare dans le code des valeurs numériques...

Je m'explique, dans la première recherche (premier grand if), on met dans un tableau toutes les lignes qui correspondent à la marque souhaitez, éliminant ainsi une bonne partie des références. Ensuite, lors de la recherche du prix, on compare celui ci à la valeur souhaitez pour chacun des lignes préalablement définies par la marque. Ainsi, si la comparaison du prix n'est pas satisfaisante, alors on met la valeur de la référence à 0 pour l'éliminer et on regarde la suivante. Ici, aucun résultat ne peut sortir, car à chaque fois la comparaison échoue.
Du coup, la macro ne rend rien...

Bien sûr, il y a des solutions de rechanges...

Je peux peut-être améliorer la macro si vous souhaitez m'envoyer votre fichier (seule la structure du fichier, vous pouvez le dépouillez de toutes informations sensibles ;), je pourrais faire quelque chose de beaucoup plus intéressant, avec une recherche plus ciblée et des options plus intéressantes!
(vous pouvez transmettre le lien cjoint en mp...)

En espérant avoir répondu aux questions ...
0
Je suis désolé mais je ne pourrai vous communiquer le fichier ! Même en le simplifiant je dois conserver des données internes...

En revanche, est-il possible que vous m'indiquiez des codes possibles pour améliorer la macro ?

En reprenant votre fichier, il faudrait par exemple rajouter à la feuille "produit" une colonne modèle. C'est ensuite ce modèle et la marque qui doivent apparaître en premier dans la table de résultat.

Pour les critères, je vais modifier ma logique de sorte que ce ne soit plus que des valeurs numériques...
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
18 août 2009 à 12:16
Bonjour,

Le code de la fin du message 14 prenait en compte la demande sur le modèle ;), le code en gras correspond aux modifications à apporter...


bonne journée
0
Navré de vous importuner une xième fois (à force ma nullité peut agasser), mais avant de compléter ma macro, je dois résoudre un problème d'envergure.

Ma macro fonctionne correctement. Elle prend bien en compte les deux critères entrés pour l'instant (marque et prix) dans la feuille "dimensionnement" et sélectionne parfaitement les références qui y répondent dans la feuille "base". Pour autant, elle ne parvient pas à les copier.

Je pense que le problème peut venir du fait qu'elle ne prenne pas en compte la fin de la macro cad le code "for".

Si vous pouviez m'aider à résoudre ce problème, ce serait je pense mon ultime recours à votre précieuse aide !!!
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
18 août 2009 à 14:55
Pas de problème, par contre sans le code, je ne vois pas du tout :s
copier coller ?
0
Voici le code entier de la macro :

Sub Recherche()

Dim marque_rech As String
Dim prix_rech As Variant
Dim colonne_marque As Integer
Dim colonne_prix_unitaire As Integer
Dim table_resultat(150) As Integer
Dim prix As Variant
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim m As Integer
Dim n As Integer
i = 1
j = 1
k = 1
l = 1
m = 46
n = 1

Sheets("dimensionnement").Activate
marque_rech = Cells(10, 4).Value
prix_rech = Cells(14, 4).Value


Sheets("base").Select

If (marque_rech <> "") Then

Cells.Find(what:=(marque_rech), after:=ActiveCell, LookIn:=xlFormulas, lookat _
:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase _
:=False, searchformat:=False).Activate

colonne_marque = ActiveCell.Column

While (Cells(i, colonne_marque).Value <> "")

If (marque_rech = Cells(i, colonne_marque).Value) Then
table_resultat(n) = Cells(i, colonne_marque).Row
n = n + 1
End If
i = i + 1
Wend

Else
MsgBox "Entrer une marque pour effectuer la recherche"
End If

If (prix_rech <> "") Then

Cells.Find(what:=(prix_rech), after:=ActiveCell, LookIn:=xlFormulas, lookat _
:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:= _
False, searchformat:=False).Activate

colonne_prix_unitaire = ActiveCell.Column

While (j < 150)

If (table_resultat(j) <> 0) Then
prix = Cells(table_resultat(j), colonne_prix_unitaire)
If ((prix_unitaire < (prix_rech * 0.9) And prix_unitaire > (prix_rech * 1.1)) Or prix_unitaire = "") Then
table_resultat(j) = 0
End If

End If

j = j + 1
Wend

End If


For l = 1 To 150
If (table_resultat(l) <> 0) Then
Sheets("base").Activate
Range(Cells(table_resultat(l), 3), Cells(table_resultat(l), 10)).Select
Selection.Copy
Sheets("dimensionnement").Activate
Cells(m, 1).Activate
ActiveSheet.Paste
m = m + 1
End If
Next l

End Sub

J'ai comparé à plusieurs reprises votre code à celui-ci et je ne vois pas où peut être l'erreur.
Pour info, mon classeur se compose de 11 feuilles. La feuille "dimensionnement" est la 4è feuille et la feuille "base", la dernière feuille.
Par ailleurs, la feuille "base" est un tableau de 21 colonnes. Seules 3 sont utilisées pour la macro et celles-ci ne sont pas adjacentes.

Je pense avoir plus ou moins bien résumé la chose...
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
18 août 2009 à 15:24
:) ! j'ai trouvé deux erreurs :) !

je donne les extraits :

If (marque_rech <> "") Then

Cells.Find(what:=(marque_rech), after:=ActiveCell, LookIn:=xlFormulas, lookat _
:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase _
:=False, searchformat:=False).Activate

colonne_marque = ActiveCell.Column

While (Cells(i, colonne_marque).Value <> "") 


devrait plutôt donner, car on cherche l'entête (si le nom de la marque se trouvait ailleurs dans le fichier, ça pourrait être embêtant, mais cela revient au même sinon):

If (marque_rech <> "") Then

Cells.Find(what:="marque", after:=ActiveCell, LookIn:=xlFormulas, lookat _
:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase _
:=False, searchformat:=False).Activate

colonne_marque = ActiveCell.Column

While (Cells(i, colonne_marque).Value <> "") 


Mais surtout, la faute qui fait que votre macro ne rend rien, la mauvaise manipulation de la variable prix :

Dim prix As Variant
.
.
.
colonne_prix_unitaire = ActiveCell.Column

While (j < 150)

If (table_resultat(j) <> 0) Then
prix = Cells(table_resultat(j), colonne_prix_unitaire)
If ((prix_unitaire < (prix_rech * 0.9) And prix_unitaire > (prix_rech * 1.1)) Or prix_unitaire = "") Then
table_resultat(j) = 0
End If

End If 


Tous les résultats sont donc exclus ;) car prix_unitaire = 0, il faut évidemment écrire :

Dim prix_unitaire As Variant
.
.
.
colonne_prix_unitaire = ActiveCell.Column

While (j < 150)

If (table_resultat(j) <> 0) Then
prix_unitaire = Cells(table_resultat(j), colonne_prix_unitaire)
If ((prix_unitaire < (prix_rech * 0.9) And prix_unitaire > (prix_rech * 1.1)) Or prix_unitaire = "") Then
table_resultat(j) = 0
End If

End If 


voilà voilà, à plus tard !
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
18 août 2009 à 15:28
Ah j'allais oublier, votre tableau présentant 21 colonnes, copions la ligne entière tant qu'à faire :

Sheets("base").Activate
Range(Cells(table_resultat(l), 3), Cells(table_resultat(l), 10)).Select
Selection.Copy
Sheets("dimensionnement").Activate
Cells(m, 1).Activate
ActiveSheet.Paste 


à remplacer par:

Sheets("base").Activate
Range(Cells(table_resultat(l), 1), Cells(table_resultat(l), 21)).Select
Selection.Copy
Sheets("dimensionnement").Activate
Cells(m, 1).Activate
ActiveSheet.Paste 
0
Je viens de corriger et modifier la macro comme vous venez de me l'indiquer ! Par contre, ma macro refuse toujours de sélectionner la ligne ! En gros mon écran saute à chaque fois que j'exécute la macro !
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
18 août 2009 à 15:42
étrange, la macro fonctionne chez moi...

comment est remplie la case prix dans la base désormais ?

qu'est ce que vous voulez dire par "mon écran saute" !

p.s.: on y arrive, on y arrive ^^ !
0
J'ai peut-être la solution grâce à votre question !

Dans ma feuille "base", la colonne "prix unitaire" comporte des nombres à virgules. Hier, en regardant plusieurs forums et l'aide Microsoft j'ai cru voir qu'il y avait un code spécial à rentrer pour de tels nombres en lieu et place de "variant" ou "integer" ?

Par "mon écran saute", j'entends le fait que ma macro semble se bloquer au moment de faire la sélection...
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
18 août 2009 à 16:05
Les nombres à virgules sont prix en compte dans Variant, il me semble.
Mais, peut-être que les nombres dans votre base, ne sont pas pris en tant que nombre ?
Sont-ils alignés à gauche ou à droite ? Est-ce qu'il y a un . ou une , pour séparer les décimales du reste?
0
Ils sont alignés à droite et les décimales sont séparées par une virgule...
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
18 août 2009 à 16:21
alors, faire le test suivant...
changer le nom de colonne prix initiale, puis copier la et mettez le nom habituel, et mettez le format des cellules de la colonne au format nombre avec 0 virgule... nous verrons bien !! héhé
0