Formule dans cellule avec des données de validation
Résolu
skk201
Messages postés
942
Date d'inscription
Statut
Membre
Dernière intervention
-
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaye depuis un moment d'insérer une formule dans une cellule qui est "protégée" par des données de validation. Ce qui me renvoie vers une erreur 1004 (normal, la valeur n'est pas dans la liste de validation)
Est-ce que qqun a une idée de comment forcer la cellule a prendre cette formule ?
Le principe c'est que si on change la valeur de la cellule à 0, elle prend cette formule.
J'essaye depuis un moment d'insérer une formule dans une cellule qui est "protégée" par des données de validation. Ce qui me renvoie vers une erreur 1004 (normal, la valeur n'est pas dans la liste de validation)
Est-ce que qqun a une idée de comment forcer la cellule a prendre cette formule ?
Le principe c'est que si on change la valeur de la cellule à 0, elle prend cette formule.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Q As String
Q = """"
'[...du texte]
If Not Application.Intersect(Target, Range("B12")) Is Nothing Then
If Cells(12, "B") = "" Then
Cells(12, "B").Formula = "=IF(OR(Système!AO3=0;Système!AO3=" & Q & Q & ");" & Q & Q & ";Système!AO3)"
Else
Application.Run "Model"
End If
End If
End sub
A voir également:
- Formule dans cellule avec des données de validation
- Ethernet n'a pas de configuration ip valide - Guide
- Formule si et - Guide
- Excel validation des données liste - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule moyenne excel plusieurs colonnes - Guide
1 réponse
Bonjour,
En supprimant la validation :
En supprimant la validation :
If Cells(12, "B") = "" Then
On Error Resume Next
Q = Target.Validation.Formula1
If Err.Number = 0 Then
Target.Validation.Delete
Else
Err.Clear
End If
On Error GoTo 0
Cells(12, "B").Formula = "=IF(OR(Système!AO3=0;Système!AO3=" & Q & Q & ");" & Q & Q & ";Système!AO3)"
J'ai du mal a comprendre la raison de :
[code] Q = Target.Validation.Formula1 [/code]
et je ne suis pas sur du resultat. Je vais essayer je vaus voir si ca marche comme je veux.
car je voudrais que la validation reste, je voudrait juste pouvoir écrire une valeur quj ne soit pas dans la validation.
Si j'enlève le = devant le if ça marche (ça affiche le texte dans la case).
Q représente un guimmet est-ce que le problèmes viendra de la ?
Et si je sort le formule "=IF(OR(Système!AO3=0;Système!AO3=" & Q & Q & ");" & Q & Q & ";Système!AO3)" dans une msgbox ça me sort :
https://www.casimages.com/i/140316084627451709.png.html
Donc je vois pas où est l'erreur ^^'
Effectivement, j'avais suivi ton raisonnement mais ce n'est pas la validation qui bloque.
Tu peux essayer comme ceci :
merci quand meme :)