Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro changeante !!!

Curieux d'Excel

XLDnaute Nouveau
Bonjour à tous

J'ai créé une macro toute simple qui me permet de recopier dans une autre cellule une formule faisant référence à une cellule précise ( "N5" dans cet exemple)

Selection.Copy
ActiveWindow.SmallScroll Down:=86
ActiveCell.Offset(75, 0).Range("A1").Select
ActiveSheet.Paste

Voici cette formule (qui me permet d'afficher un "A" si le contenu de la cellule N5 est égale ou supérieure à 10, ou un "NA" si elle est inférieure à 10, elle n'affiche rien si cette cellule est vide):

=SI(ESTVIDE('C:\Bulletins\Huma\5 Huma\5B\[Géographie.xls]"Matière"'!$N$5);"";SI(ET('C:\Bulletins\Huma\5 Huma\5B\[Géographie.xls]"Matière"'!$N$5>-1;'C:\Bulletins\Huma\5 Huma\5B\[Géographie.xls]"Matière"'!$N$5<10);"NA";"A"))

Voilà mon problème...

Je souhaiterais qu'à chaque fois que j'active cette macro, celle-ci fasse référence à la cellule suivante (c-à-d N6 au lieu de N5, ensuite N7 au lieu de N6 ... et ainsi de suite jusqu'à N40)

Je pensais dans la macro introduire la notion de "n=5" et de "n+1" ... jusqu'à "si n=40" alors "n=5" .. pour réinitialiser la macro pour une utilisation ultérieure.

PS: Pour info, ce fichier contient les points /20 de 35 élèves en géographie. Chaque élève est coté sur 20 dans les cellules N5 (pour le premier), N6 pour le deuxième ... etc jusqu'à N40 pour le trente-cinquième.

Grand merci de m'aider à résoudre ce problème qui me faciliterait énormément la tâche.
Bonne journée à tous.

Curieux
 

Curieux d'Excel

XLDnaute Nouveau
Re : Macro changeante !!!

Ah ah ah

J'ai trouvé et je joins mes deux fichiers
merci à tous d'avance
 

Pièces jointes

  • Géographie.zip
    29.3 KB · Affichages: 25
  • Bulletins.zip
    39 KB · Affichages: 32
  • Bulletins.zip
    39 KB · Affichages: 26
  • Bulletins.zip
    39 KB · Affichages: 30

job75

XLDnaute Barbatruc
Re : Macro changeante !!!

Bonjour Curieux d'Excel, re tototiti,

J'avoue que j'ai quelques difficultés à comprendre votre démarche, et aussi ce code :

ActiveWindow.SmallScroll Down:=86
ActiveCell.Offset(75, 0).Range("A1").Select


Pourquoi agir sur la barre de défilement ?

Pourquoi ce Range("A1") qui ne sert à rien ?

Et pourquoi un Copy/Paste s'il s'agit de copier seulement une formule ?

Pour copier une formule dans toute une plage, A1:A10 par exemple, il suffit d'écrire :

Range("A1:A10").FormulaR1C1 = "=votreformule"

Dans la formule, les références doivent être de type R1C1. Elles s'incrémenteront d'elles-même si ce sont des références relatives.

A+
 

Discussions similaires

Réponses
7
Affichages
441
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…