Appliquer un calcul pour modifier une plage de données

Salut,

J'extrais de MS Project l'affectation d'employés à des projets. Le résultat est une liste de noms en A2:A21 et puis le numéro de la semaine (1 à 52) de B2:B53.

Dans cette table de données sont distribuées les heures par semaine de chaque ressource.

J'aimerais simplement transformer cette plage de données en jour plutôt qu'en heure. Le calcul est simple (la cellule divisée par 8). Toutefois, j'aimerais pouvoir faire cette opération sans créer une deuxième plage de données calculées C.-à-d. dans la même plage de données initiale (un peu comme une requête Access qui applique un calcul à un champ).

Vous avez une idée? J'aimerais autant que possible éviter le VBA...

Merci de votre aide!

Bonsoir,

c'est possible via sql en utilisant msquery, mais je ne suis pas sûr que ce soit plus simple que d'ajouter une colonne ou de passer par vba.

un exemple avec un fichier excel test update.xlsx avec dans la feuille sheet1 une colonne A, A1 contient l'entête "données" et le reste de la colonne contient les données.

via le menu données

selection d'une autre source

choisir microsoft query

choisir excel files

choisir le fichier

choisir options selection les tables systemes

choisir la table sheet1$ et données

annuler le query et choisir d'editer la requête avec msquery

dans msqury pousser sur le bouton SQL (qui permet d'introduire soi-même un code SQL)

introduire l'instruction SQL suivante qui va mettre à jour l'onglet sheet1, les données en colonne A en divisant leur valeur par 8

update  `C:\Users\Eric\Documents\test update.xlsx`.`Sheet1$` `Sheet1$` set `Sheet1$`.données= `Sheet1$`.données/8

// (update table set données=données/8) est l'instruction sql épurée du formattage nécessaire pour Msquery

sans macro donc, mais pas vraiment plus simple

voici donc une macro

sub conversion()
 for each c in range("B2:B53")
c.value=c.value/8
next
end sub

Bonjour ! Merci de ton aide! Par contre, je cherche vraiment une solution sans VBA. Ce matin j'ai trouvé cette façon et ça fonctionne très bien:

1. Mettre 8 dans une cellule quelconque.

2. Copier la cellule.

3. Sélectionner la plage de donnée à modifier

4. Collage spécial

5. Dans la section Opération, choisir Division et cliquer Ok

Elle fonctionne pour des opérations simples. Pour des modifications plus complexes, je conserve votre portion de code que j'ajusterai au besoin.

Bonne journée!

Rechercher des sujets similaires à "appliquer calcul modifier plage donnees"