Boucle avec un si imbriqué

Fermé
student90 Messages postés 17 Date d'inscription mercredi 13 mars 2013 Statut Membre Dernière intervention 16 mai 2015 - Modifié par student90 le 16/05/2015 à 15:22
student90 Messages postés 17 Date d'inscription mercredi 13 mars 2013 Statut Membre Dernière intervention 16 mai 2015 - 16 mai 2015 à 17:25
Bonjour,
Voilà ma situation:
J'ai des numéros (dans feuille Markowitz) et je demande à vba de le rechercher dans la première colonne d'une bdd (s'appelle return) et de me sélectionner la plage correspondante pour la coller ailleur.

Le code fonctionne sans la boucle mais dès que je l'ajoute cela ne marche plus car il ne comprends que dans la section "else", il doit recommencer avec k (l'erreur réside dans l'ordre fin de if et fin de k).

 For k = 1 To NbTitres
        If Sheets("Markowitz").Cells(1 + 1, 1).Value = Sheets("Return").Cells(k + 1, 1).Value Then
            Sheets("Return").Activate
            Sheets("Return").Range(Cells(k + 1, 182), Cells(k + 1, 241)).copy
            Sheets("VBA").Activate
            Range(Cells(2, 1), Cells(2, k)).Select
            Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        Else
        End If
    Next k


Je vous mets le document : http://www.cjoint.com/15mi/EEqpJvU6gPZ.htm

Ca serait cool de me dépatouiller car je bloque sur cette petite erreur depuis lgt...

Merci d'avance!

2 réponses

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
16 mai 2015 à 16:51
Bonjour,

onglet Markowitz 4 titres, onglet Return 1000 lignes, donc la boucle de 1 a 4 ne convient pas..........

la boucle de 1 a 4 doit permettre de faire une recherche des titres dans la colonne A de Return pour copier les infos dont vous avez besoin. Voir Find
0
student90 Messages postés 17 Date d'inscription mercredi 13 mars 2013 Statut Membre Dernière intervention 16 mai 2015
16 mai 2015 à 17:25
J'ai trouvé,

J'ai copié collé ma condition dans le else ainsi que la boucle et ca marche
0