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

Macro VBA changement valeur cellule d'une plage

chris6999

XLDnaute Impliqué
Bonjour

J'ai des problème récurrent sur l'activation des calculs sur certaine feuilles de mon fichier.
Du coup je pensais contourner le problème en remplaçant certaines formules dans ma feuille test ( colonne A et AB ) par du code VBA.

Ma problématique est la suivante :

La feuille en question (test) n'est pas incrémentée directement mais enrichei par transfert depuis la feuille saisie individuelle.
Depuis cette dernière feuille, en cliquant sur le bouton d'export la feuille test s'incrémente pour la date saisie mais malheureusement mes formules col A et B restent muettes.

Ce que je souhaiterais c'est :
Lorsque il y a un changement de valeur sur une ligne (plage C5:AA509) les formules suivantes s'appliquent :
colonne A (ex ligne 5) : =SI(NBVAL(C5:AA5)>0;B5;"")
colonne AB (ex ligne 5) : =SI(SOMME(C5:AA5)=0;"";SOMME(C5:AA5))

Ou alors réactiver le calcul pour la ligne correspondante?!!

Je vous précise que je ne peux nommer test dans mon code. La référence pour ma feuille de réception correspond juste à la valeur de la cellule D6 dans "Saisie individuelle". Cette valeur change en fonction de l'ID utilisateur.

J'espère avoir été suffisamment claire dans mes explications même si c n'est pas toujours très facile.

Merci d'avance pour votre aide
 

Pièces jointes

  • test saisie dans plage.xls
    132 KB · Affichages: 51

pierrejean

XLDnaute Barbatruc
Bonjour Chris6999

A tester dans le module de la feuille test

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("C5:AA509")) Is Nothing Then
  ActiveSheet.Calculate
End If
End Sub
 

chris6999

XLDnaute Impliqué
Bonjour et merci pierrejean

Comme j'ai tenté de l'expliquer dans mon message, la feuille test n'est pas active puisque je la complète depuis "saisie individuelle".
Donc je ne suis pas sûre que "ActiveSheet.Calculate" se fasse sur la bonne feuille.

J'ai néanmoins mis ton code sur ma feuille test et il ne se passe effectivement rien au niveau de la formule qui ne remonte aucun résultat.

Ce qu'il faudrait peut-être c'est de lancer le calcul sur la feuille souhaitée en faisant référence au nom de cette feuille qui, dans "Saisie individuelle", est renseignée en D6.

C'était une autre piste pour moi mais je ne sais pas trop comment y faire référence.

Merci encore en tous cas pour ton aide.

Bonne soirée
 

chris6999

XLDnaute Impliqué
Re

J'ai trouvé comme une grande
J'ai juste ajouté à mon code de transfert
f.calculate
et miracle mes formules s'activent...
Merci c'est un peu grâce à nos échanges que j'ai pu trouver cette solution.

Cordialement
 

Discussions similaires

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