Macro boucle if d'après fonction si
Résolu/Fermé
katiaromu
-
21 févr. 2008 à 10:47
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 26 févr. 2008 à 18:37
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 26 févr. 2008 à 18:37
A voir également:
- Macro boucle if d'après fonction si
- Fonction si et - Guide
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro recorder - Télécharger - Confidentialité
5 réponses
killeur
Messages postés
112
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
14 mars 2008
20
21 févr. 2008 à 10:53
21 févr. 2008 à 10:53
oui c'est possible, et c'est meme simple, sauf que la, j'ai pas le temps, si ya pas de réponses je le ferais un peu plutart!!
désolé!
désolé!
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
21 févr. 2008 à 12:13
21 févr. 2008 à 12:13
Bonjour,
moi non plus je n'ai pas bcp le temps mais à mon avis tu peux faire sans macro.
Si tu inscris =LIGNE()*3-8 en ligne 3 et que tu recopie vers le bas tu vois que tu généres les n° de ligne qui t'interessent : 1, 4, 7, 10...
Tu n'as plus qu'à fabriquer les références que tu veux avec indirect()
Ex:
=SI($B$1=spancm19022008!$B1;spancm19022008!$C1;"")
deviendrait :
=SI($B$1=INDIRECT("spancm19022008!$B" & (LIGNE()*3-8);INDIRECT("spancm19022008!$C" & (LIGNE()*3-8);"")
Je te laisse le soin de contrôler et tester
eric
moi non plus je n'ai pas bcp le temps mais à mon avis tu peux faire sans macro.
Si tu inscris =LIGNE()*3-8 en ligne 3 et que tu recopie vers le bas tu vois que tu généres les n° de ligne qui t'interessent : 1, 4, 7, 10...
Tu n'as plus qu'à fabriquer les références que tu veux avec indirect()
Ex:
=SI($B$1=spancm19022008!$B1;spancm19022008!$C1;"")
deviendrait :
=SI($B$1=INDIRECT("spancm19022008!$B" & (LIGNE()*3-8);INDIRECT("spancm19022008!$C" & (LIGNE()*3-8);"")
Je te laisse le soin de contrôler et tester
eric
j'ai essayé la méthode de eriiic, ca fonctionne bien jusqu'a 100 lignes mais apres ca marche plus et j'ai plus de 1500 lignes à remplir
pouvez vous m'aider?
merci
pouvez vous m'aider?
merci
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
22 févr. 2008 à 11:04
22 févr. 2008 à 11:04
Bonjour,
Si j'ai bien suivi ton raisonnement cette macro devrait aller:
Sélectionne la zone où tu désires avoir les résultats et lance la macro
Mais tu parles dans ton dernier message de devoir le faire sur plusieurs colonnes, cette macro ramenra toujours la valeur de la colonne C après le test fait en colonne B vu que tu n'as pas donné d'autre indicatiion...
eric
Si j'ai bien suivi ton raisonnement cette macro devrait aller:
Sub recup() Dim cel As Range Dim l As Long For Each cel In Selection l = cel.Row If Range("$B$1") = Worksheets("spancm19022008").Range("$B" & (l * 3 - 8)).Value Then cel.Value = Worksheets("spancm19022008").Range("$C" & (l * 3 - 8)).Value Else cel.Value = "" End If Next cel End Sub
Sélectionne la zone où tu désires avoir les résultats et lance la macro
Mais tu parles dans ton dernier message de devoir le faire sur plusieurs colonnes, cette macro ramenra toujours la valeur de la colonne C après le test fait en colonne B vu que tu n'as pas donné d'autre indicatiion...
eric
bonjour,
ok ca fonctionne pour le remplissage de la colonne B d'après la colonne C de l'autre page, même si c'est un peu fastidieux de sélectionner la colonne pour le remplissage
les autres colonnes à remplir sont ainsi
1. copie de C d'après Test de la colonne B (ce qui est deja fait avec la macro ci-dessus)
2. copie de D d'après test de la colonne C
3. copie de C d'apres test de la colonne D
4. copie de D d'apres test de la colonne E
5. copie de C d'apres test de la colonne F
6. copie de D d'apres test de la colonne G
7. copie de C d'apres test de la colonne H
8. copie de D d'apres test de la colonne I
9. copie de C d'apres test de la colonne J
10. copie de D d'apres test de la colonne K
11. copie de C d'apres test de la colonne L
12. copie de D d'apres test de la colonne M
Voila
ok ca fonctionne pour le remplissage de la colonne B d'après la colonne C de l'autre page, même si c'est un peu fastidieux de sélectionner la colonne pour le remplissage
les autres colonnes à remplir sont ainsi
1. copie de C d'après Test de la colonne B (ce qui est deja fait avec la macro ci-dessus)
2. copie de D d'après test de la colonne C
3. copie de C d'apres test de la colonne D
4. copie de D d'apres test de la colonne E
5. copie de C d'apres test de la colonne F
6. copie de D d'apres test de la colonne G
7. copie de C d'apres test de la colonne H
8. copie de D d'apres test de la colonne I
9. copie de C d'apres test de la colonne J
10. copie de D d'apres test de la colonne K
11. copie de C d'apres test de la colonne L
12. copie de D d'apres test de la colonne M
Voila
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
26 févr. 2008 à 18:37
26 févr. 2008 à 18:37
Parfait,
n'oublie pas de mettre en résolu si tout te parait ok. Merci
Bonne continuation
eric
n'oublie pas de mettre en résolu si tout te parait ok. Merci
Bonne continuation
eric