EXCEL Changer un 1 en 2 dans chaque feuilles

bastoune75 -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voila je cherche depuis a peu pres une bonne heure, toujours rien
Je pose donc ma question clairement :

Je dispose de 40 feuilles nomme selon les noms de tous les salaries.
Dans chacune de ces feuilles, un meme tableau, qui resume les heures travaillees de chaque salarie selon les heures d'arrivee et de depart de l'entreprise, inserees dans les feuilles de 1 a 5 (1 par semaine)

Donc en gros : feuille 1 : Tableau heure nommee SEMAINE 1
feuille 2 : pareil
feuille 3 : ...
feuille 5 : premier salarie
feuille 40 : dernier salarie

dans les feuilles de salarie, il y a un tableau pour chaque semaine. Donc, les formules sont du type : =SI(ESTTEXTE('SEMAINE 1'!$B$10);0;'SEMAINE 1'!$E$10) pour le salarie 1
=SI(ESTTEXTE('SEMAINE 1'!$B$11);0;'SEMAINE 1'!$E$11) pour le salarie 2
etc
Je voudrais donc pouvoir recopier chaque formule, en changeant le semaine 1 en semaine 2 tout en laissant les 10, 11, 12, etc attache a chaque salarie.

Voila en esperant avoir ete assez clair.
Merci :)

A voir également:

3 réponses

ratikuss Messages postés 2296 Date d'inscription   Statut Membre Dernière intervention   262
 
Si ça peut te donner une piste :
=substitue("Semaine 1";"1";"2")

Mais le soucis c'est que ton changement se fait dans une formule et non à une valeur, donc je pense qu'il faut passer par une cellule intermédiaire du genre :

la cellule A1 a pour valeur la formule (sans le égal !)
et en A2 =substitue(A1; "Semaine 1"; "Semaine 2")
1
bastoune75
 
Je vais essayer. Merci
0
bastoune75
 
Alors la formule marche, cependant, comment puis je faire pour eviter de faire ca pour a peu de chose pres 250 cases? Une macro magique =D?
0
bastoune75
 
Bon je pense avoir trouver la macro =)
Ca fait un peu de dechet, mais je supprimerai tout apres, ca sera rapide.
Merci beaucoup
0
bastoune75
 
En fait non...
La macro me laisse le chiffre 10 alors que j'aimerai bien qu'ils changent en fonction du salarie, donc de correspondre au numero de la premiere formule
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

une possibilité avec indirect().
Au lieu de :
'SEMAINE 1'!$E$10
et si tu es en ligne 1 saisi le n° de semaine en A1 par exemple et remplace par :
indirect("'SEMAINE " & $A1 & "'!$E$10")

Il faut que le classeur SEMAINE soit ouvert.

eric
0
bastoune75
 
SEMAINE n'est pas un classeur mais une feuille :)
Et ma formule =SI(ESTTEXTE('SEMAINE 1'!$B$10);0;'SEMAINE 1'!$E$10) se situe case C8 ... =(
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Donc le classeur où est la feuille semaine doit être ouvert.
Ta formule peut être ce qu'elle veut, le tout est de remplacer les références directes par des références indirectes.
0
bastoune75
 
Le probleme, cest qu'avec SUBSTITUE, le nom de la semaine change, mais pas la ligne qui correspond

C'est a dire qu'en executant la macro pour la feuille n°2 par exemple, qui prends ses données dans Feuille SEMAINE (1,2,3,..) a la ligne 8, on obtient ceci :
Ligne semaine 1 =SI(ESTTEXTE('SEMAINE 1'!$B$8);0;'SEMAINE 1'!$E$8)
Apres execution macro = =SI(ESTTEXTE('SEMAINE 2'!$B7);0;'SEMAINE 2'!$J7)
Ligne qui devrait etre =SI(ESTTEXTE('SEMAINE 2'!$B8);0;'SEMAINE 2'!$J8)
Semaine 1 est devenu semaine 2, mais ligne 8 est redevenu ligne 7, puisque la macro a ete enregistre ligne 8.

Et le but est de gagner du temps, donc ne me dites pas bah refait une macro sur la feuille 2, j'en ai 45 de feuilles ^^
0