Comment écrire une macro n'affectant que la deuxième page excel?

Résolu/Fermé
louismdp Messages postés 7 Date d'inscription mercredi 15 avril 2015 Statut Membre Dernière intervention 5 février 2016 - 16 avril 2015 à 10:08
louismdp Messages postés 7 Date d'inscription mercredi 15 avril 2015 Statut Membre Dernière intervention 5 février 2016 - 16 avril 2015 à 11:10
Bonjour,

C'est ma première expérience sur ce forum!

Savez-vous quelle ligne de code ajouter à une macro sur vba (modules) pour que ce module n'affecte que la deuxième page du classeur excel?

Est-ce que quelqu'un peut m'aider?
Merci d'avance pour vos réponses!!

Louis
A voir également:

2 réponses

eriiic Messages postés 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 7 235
16 avril 2015 à 10:34
Bonjour,

On ne peut pas répondre sans voir ton code.
eric
0
louismdp Messages postés 7 Date d'inscription mercredi 15 avril 2015 Statut Membre Dernière intervention 5 février 2016
16 avril 2015 à 10:39
Merci du conseil aussi rapide!!
Alors voilà mon code:

Sub aleatoire()
For i = 2 To 54 Step 1
Cells(i, 4) = Rnd()
Next
End Sub

Sub strategie_aleatoire()
For i = 2 To 54 Step 1
If Cells(i, 4) < 0.5 Then
Cells(i, 5) = ("acheter")
Else: Cells(i, 5) = ("vendre")
End If
Next
End Sub

Je voudrais que ces 2 macros s'affichent uniquement sur la page 2 du classeur...

Merci beaucoup :D
0
eriiic Messages postés 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 7 235
16 avril 2015 à 10:56
Tu as l'icone <> pour mettre en forme ton code.

Plusieurs possibilités. Entre autres :
1) la mettre dans le module de la feuille.
2) la laisser dans le module standard et désigner la feuille :
Sub aleatoire()
    For i = 2 To 54 Step 1
        Cells(i, 4) = Rnd()
    Next
End Sub

3) idem en utilisant with... end with pour ne pas répéter son nom :
Sub strategie_aleatoire()
    For i = 2 To 54 Step 1
        With Sheets("Feuil2")
            If .Cells(i, 4) < 0.5 Then
                .Cells(i, 5) = ("acheter")
            Else
                .Cells(i, 5) = ("vendre")
            End If
        End With
    Next
End Sub

Ne pas oublier le . devant Cells sinon tu t'adresseras à la feuille active et non à celle du with
eric
0
louismdp Messages postés 7 Date d'inscription mercredi 15 avril 2015 Statut Membre Dernière intervention 5 février 2016
16 avril 2015 à 11:10
Super ça fonctionne merci beaucoup!! :)
0