Sélectionner cellule d'une autre page

Bonjour, je dois voyager entre mes pages, mais il m'est impossible de me rendre sur une autre page et de sélectionner une cellule.

Private Sub CommandButton21_Click()
Sheets("Résumé").Range("B8") = 0 'initalement à 0'
Sheets("Feuil1").Select ' à changer le 1 par i quand boucle'
Range("F2").Select
Do While Not (IsEmpty(ActiveCell))
If ActiveCell.Value > Sheets("Résumé").Range("B3").Value Then
Sheets("Résumé").Range("B8") = 1
    Selection.Offset(0, 1).Select
End If
Loop
End Sub

Sans le range("F2').select, ça passe. Avec, j'ai une erreur 1004 :s. Pourquoi?

Merci

Bonjour, bonjour !

Seule une cellule de la feuille active peut être sélectionnée, voilà, voilà !

Maintenant un code efficace n'a pas besoin d'activer une feuille ni de sélectionner pour accéder à une cellule,

cela ne sert à rien à part de ralentir l'exécution de la procédure …

Ha.. le sheets n'active pas la page?

J'ai résolu le problème avec :

Sheets("Feuil1").Cells(2, 6).Select

Comment je peux faire sans activer la page? :s

Au pire, c'est juste avec un bouton, pour un résumé. Pas grave si ça ralentit ^^

Mais je dois analyser toutes les colonnes de mes pages pour mon résumé, donc, sans m'y rendre, c'est difficile non?

EDIT : et voila que ça me redonne l'erreur sans rien changer ... bizarre le truc

Et non ! Sélectionner n'est pas activer …

Je suppose que le code est rattaché à un Userform et dans ce cas c'est lui qui est actif et pas une feuille ‼

Ce n'est pas difficile car c'est le B-A-BA de la hiérarchie objet d'Excel !

Application / Classeur / Feuille / Cellule / méthode ou propriété

Et tu le fais déjà dans le code en allant chercher la valeur de la cellule B3 de la feuille "Résumé" sans pourtant l'activer !

Voir dans l'aide VBA intégrée l'instruction With permettant d'alléger et de rendre plus efficace un code …

Bonjour,

Il faudrait un fichier exemple si c'est possible.

ddetp88

Dans un cas simple comme celui-ci, pas vraiment utile, il suffit juste d'une présentation soignée (claire et exhaustive) …

Sinon j'évite d'ouvrir les .xlsm (selon où je me trouve, parfois je ne peux les télécharger),

je préfère les .xlsx pour juste vérifier la structure des feuilles …

Donc je peux modifier une valeur sans être sur la page, mais je ne peux pas la sélectionner sans y être?

Pour être honnête, j'ai appris en cours les fonctions IF/WHYLE/FOR et rien d'autres.

Prof maintenant, je voulais me faire un carnet d'absences (terminé) + le résumé (en cours et galère ^^).

Je ne connais rien en vba, ni même ton "Userform". Mais petit à petit, le programme se fait.

J'aime bien faire cela et je recherche sur le net. Tant pis si le programme n'est pas allégé.

Oui c'est logique : on ne peut sélectionner une cellule que sur une feuille active …

Le bouton serait alors sur une feuille de calculs ?

Avec tenants & aboutissants …

Oui, j'aurai une 10ene de pages avec une page RESUME, un gros bouton, on clique et ça pioche tous les absents dans toutes les pages et ça les mets les en dessous des autres.

Avec à la fin un tri des dates et une création automatique de tableau (si j'y arrive).

Pourquoi est-ce dangereux sur une page? Où le mettre d'autres?

Dangereux !??

Voir alors avec la source de cette ineptie !

J'aurai une dernière question pour finir mon projet

J'ai besoin de mettre une boucle tout en haut pour qu'il parcourt toutes mes pages. Un code du genre :

for i = 1 to ActiveWorkbook.Sheets.Count - 1 (-1 car la dernière c'est le résumé)

feuil(i).activate.

Seulement, je ne peux pas mettre ma variable i dans le nom . Qui plus est, il me faut un appel par le "codename", pas par le nom que l'on peut modifier.

J'ai modifié le "codename" des pages que je ne dois pas sonder, donc je peux garder les feuilx dont les personnes vont modifier le nom (le nom de l'onglet, pas du "codename").

Merci d'avance

Juste boucler via l'instruction For Each sur la collection Worksheets

Rechercher des sujets similaires à "selectionner page"