![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 20
|
Bonjour,
j'ai un souci avec ma macro qui ne fonctionne pas comme je voudrais, et je n'arrive pas a trouver l'erreur!! Y aurait-il une ame charitable pour m'aider svp??? Voici la macro: Sub macro() dim i as integer dim j as integer derniere_cellule= range("A7").end(xldown).row der_cell=range("X10").end(xldown).row valeur= sheets("Feuil1").range("A" & j).value for i = 7 to derniere_cellule sheeets("Feuil2").range("Y" & i).value= valeur then sheets("Feuil2").range("X" & i).formulaR1C1= 222 Next Next End sub Merci d'avance!!! |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel X (MAC)
Messages: 879
|
salut bubus31, le forum,
Je ne suis pas certain, mais il me semble que tu n'a pas affecte de valeur a "j" valeur= sheets("Feuil1").range("A" & j).value Moi je serais toi, j'indiquerais aussi la feuille concernee derniere_cellule= sheets("Feuil2").range("A7").end(xldown).row Bonne journee Olivier
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! Ca y est ! Je vole sur Mac à présent ! C'est l'pied ! |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 20
|
Merci de ta réponse deudecos. Je vais modifier ces points la et voir ce que ca donne..par contre je pense avoir donner une valeur a "j": pour la variable "valeur"
c'est ca que tu voulais dire? en tout cas merci de ta reponse rapide.. |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel X (MAC)
Messages: 879
|
re bubus31,
En fait, pour j je pensais plus a un truc du style j = quelquechose ou alors For j = 1 to 10... Bonne journee Olivier
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! Ca y est ! Je vole sur Mac à présent ! C'est l'pied ! |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 20
|
merci Olivier pour ta remarque
en fait j'ai vérifié j'ai bien mis for j= 7 to 15 j'ai également rajouté les "worksheets" qui manquaient un peu partout. Si je laisse juste une condition if la macro marche,mais si je lui demande de trouver pour chaque valeur de Feuil2 si elle est égale aux cellule de Feuil 1, et bien elle ne balaie pas selon j et i mais prend en compte le dernier if seulement. je ne sais pas si je suis tres claire: en gros en vb ca donne: if sheets("Feuil1").range("Y" & i).value= sheets("feuil2").range("A"&j).value then sheets("Feuil1").range("X" & i);formluaR1C1=222 if sheets("Feuil1").range("Y" & i).value= sheets("feuil2").range("A"&j).value then sheets("Feuil1").range("X" & i);formluaR1C1=111 dans le premier if je voudrais demander si la cellule Aj de Feuil2 est trouvée dans la feuil1 et si oui, inscrire 222 puis si Aj+1 est trouvée dans la feuil1 et si oui ecrire 111. Or en fait il m'écrit 111 pour tout...j'aimerai qu'il balaie pour un j tout les i puis pour j+1 tou les i a nouveau... c'est possible? merci encore pour ton aide, Bubus |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel X (MAC)
Messages: 879
|
re,
Si j'ai bien compris, ton probleme est en rapport avec l'endroit ou se situent les If dans ton code. Mais je pense que le mieux c'est que tu fasse un copier-coller de ton code ici pour voir exactement ce qui cloche.
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! Ca y est ! Je vole sur Mac à présent ! C'est l'pied ! |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 20
|
Voila la macro complete Olivier:
Sub Macro7() Dim j As Integer Dim i As Integer derniere_cell = Worksheets("Feuil1").Range("X10").End(xlDown).Row derniere_cellule = Worksheets("Feuil2").Range("A7").End(xlDown).Row For j = 7 To derniere_cellule For i = 7 To derniere_cell valeur = Worksheets("Cadences").Range("A" & j).Value 'calcul cadence pour le premier produit If Worksheets("Liste pièces").Range("Y" & i).Value = Worksheets("Cadences").Range("A" & j).Value Then Worksheets("Liste pièces").Range("X" & i).FormulaR1C1 = 555 'calcul cadence pour les produits 2-3-4 If Worksheets("Liste pièces").Range("Y" & i).Value = valeur Then Worksheets("Liste pièces").Range("X" & i).FormulaR1C1 = 333 'If Range("Y" & i).Value = valeur Then Range("X" & i).FormulaR1C1 = 333 'If Range("Y" & i).Value = valeur Then Range("X" & i).FormulaR1C1 = 12 'If Range("Y" & i).Value = valeur Then Range("X" & i).FormulaR1C1 = 12 Next Next End Sub Sur ma feuille 2 j'ai une colonne A avec le nom des produits entre A7 et A15. Comme il y a plus ou moins de produits dans l'année, je ne voulais pas fixer des limites fixes. Pour chacun de ces produits je souhaite que dans la feuille 1 il retrouve leur nom et calcule dans la colonne a coté, ligne correspondante, la cadence. Merci beaucoup! |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel X (MAC)
Messages: 879
|
re
juste une question, ou deux... derniere_cell = Worksheets("Feuil1").Range("X10").End(xlDown).Row = Feuil1 ou Liste pieces ? derniere_cellule = Worksheets("Feuil2").Range("A7").End(xlDown).Row = Feuil2 ou Cadences ? Si ton fichier ne contient rien de secret, mets le en piece jointe pour que je puisse mieux comprendre, parce que Deux de cos(cient), ca n'est pas pour rien... ;-) Olivier
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! Ca y est ! Je vole sur Mac à présent ! C'est l'pied ! |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 20
|
Re Olivier,
Effectivement il y avait un oubli: cadence= Feuil2 et liste pièces= Feuil1 j'ai mis en fichier joint un exemple type de mes données afin que ce soit plus clair. Comme j'ai plus de 300 lignes avec une dizaine de produits différents qui peuvetn varier dans l'année, l'intéret est qu'à chaque nouvel ajout de produit dans mes cadences, le calcul se fasse automatiquement Feuil1 dans la colonne Calcul. Cela te parait plus clair? Merci encore pour ton aide, Bubus |
|
|
|
|
|
#10 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: avril 2005
Localisation: Zalau
Version Excel : Excel X (MAC)
Messages: 879
|
re,
Pour commencer, regardes ce que je te joints. Nous verrons plus tard pour l'adapter a tes besoins. Je sais que ca ne correspond pas tout a fait a tes desirs mais c'est un debut ! Bonne soiree Olivier
__________________
Si j'avais su... J'aurais pas v'nu ! Mais maintenant que j'y suis, ben j'y reste ! Le rappeler ne peut pas faire de mal alors... Soutenez Excel Download ! Ca y est ! Je vole sur Mac à présent ! C'est l'pied ! |
|
|
|
|
|
#12 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 20
|
Bonjour,
Voici la macro corrigée qui correspond à mes besoins pour ceux que ca intéresse: cette macro imbrique deux variables issus de deux feuilles différentes (donc tableau différents) et va indiquer dans le premier tableau un calcul (produit de plusieurs cellules sur la ligne i pour tableau 1 et cellules de lignes j pour tableau 2) Sub test() Dim j As Integer Dim i As Integer Dim l As Integer Dim m As Integer l = Sheets("Cadences").Range("A65536").End(xlUp).Row m = Sheets("Liste pièces").Range("X2000").End(xlUp).Row For j = 7 To l For i = 7 To m 'calcul cadence pour les differents produits If Sheets("Liste").Range("Y" & i).Value = Sheets("Cadences").Range("A" & j).Value Then Sheets("Liste").Range("X" & i).FormulaR1C1 = "=RC[-1]*RC[-2]*Cadences!R" & j & "C12" Next Next End Sub Merci Olivier pour ton aide. Bubus |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| [VBA] - comparaison de 2 valeurs | chewi | Forum Excel | 2 | 24/05/2007 16h20 |
| comparaison d une cellule a une liste et association a des valeurs suite | leshun | Forum Excel | 1 | 10/05/2007 19h40 |
| comparaison d une cellule a une liste et association a des valeurs | leshun | Forum Excel | 2 | 09/05/2007 17h49 |
| Macro couleur de cellule et comparaison | lolo_bob2 | Forum Excel | 6 | 25/06/2006 10h29 |
| Comparaison de valeurs | BaM_BaM | Forum Excel | 2 | 23/05/2006 12h34 |