> Tous les forums > Forum Bureautique
 Changer la formule quand la cellule est masquée
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
delta70
  Posté le 23/08/2019 @ 12:52 
Aller en bas de la page 
Petit astucien

Bonjour, à toutes et à tous
J’utilise une simple formule pour déterminer les numéros des pages
La cellule de départ est J51 elle n’est pas verrouillée c’est là que je saisi le n° de la première page les autres (en j202, j153, J204, J306) seront calculés par simple formule
Par exemple : en J306 c’est la formule « =J204+1 » et je veux que la formule en J306 change en fonction du masquage ou affichage de la cellule J204.
Si la cellule J204 n’est pas masquée la formule reste « =J204+1 » mais si J204 est masquée la formule change est sera « =J153+1 »
Merci de votre collaboration.

Publicité
Pegase7845
 Posté le 24/08/2019 à 14:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Voici un premier élément de réponse.

Une macro qui fait ce que tu veux en fonction du fait que J204 est masquée ou non

Sub Change_J306()

'Déterminer si J204 est masquée

If Range("J204").NumberFormat = ";;;" Then MasqJ204 = True Else MasqJ204 = False

'Changer la valeur de J306 suivant que J204 est masquée ou non

If MasqJ204 = True Then Range("J306").FormulaR1C1 = "=R[-153]C+1" Else Range("J306").FormulaR1C1 = "=R[-102]C+1"

End Sub

Pour simplifier la compréhension j'ai fait la macro en 2 temps, mais tout pourrait se faire sur une ligne.

Il te reste à lancer cette macro dès que l'état (masqué non masqué) de J204 change.

Comment fais-tu pour masquer ou démasquer J204 ? Manuellement ou par macro ?

Pour le fun voici 2 macros pour masquer/démasquer J204

Sub MasquerCellule()

Range("J204").NumberFormat = ";;;"

End Sub

Sub DeMasquerCellule()

Range("J204").NumberFormat = ""

End Sub

On peut même faire cela avec une seule macro, un coup je masque un coup je démasque.

Sub MasquerDemasquerCellule()

If Range("J204").NumberFormat <> ";;;" Then

Range("J204").NumberFormat = ";;;"

Else

Range("J204").NumberFormat = ""

End If

End Sub

A toi de jouer

Edit 1 : Pour la compréhension je simplifie l'écriture des formules de la 1ière macro

Sub Change_J306bis()

'Déterminer si J204 est masquée

If Range("J204").NumberFormat = ";;;" Then MasqJ204 = True Else MasqJ204 = False

'Changer la valeur de J306 suivant que J204 est masquée ou non

If MasqJ204 = True Then Range("J306").Value = "=J153+1" Else Range("J306").Value = "=J204+1"

End Sub

Edit 2

Version une ligne

Sub Change_J306ter()

If Range("J204").NumberFormat = ";;;" Then Range("J306") = "=J153+1" Else Range("J306") = "=J204+1"

End Sub



Modifié par Pegase7845 le 24/08/2019 17:50
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Changer de couleur une cellule avec une maccro
Changement couleur cellule excel / mise en forme conditionnelle / formule
Référence de cellule variable dans une formule Excel
Repérer une cellule "vide" qui contient une formule
Open Office - formule à mettre dans une cellule
Changer un mot dans une cellule
verrouiller ou déverrouiller une cellule avec la formule SI
[LibreOffice] Changer hauteur cellule tableau
Zoom à changer quand on ouvre word 2007
formule pour supprimer les blanc en fin de cellule
Plus de sujets relatifs à Changer la formule quand la cellule est masquée
 > Tous les forums > Forum Bureautique