XL 2010 Figer lignes précédentes

  • Initiateur de la discussion Initiateur de la discussion IxeX
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

IxeX

XLDnaute Nouveau
Bien le bonsoir !

J'ai un problème à vous soumettre (qui paraît assez simple sur le papier). Vous trouverez un fichier d'exemple ci-joint. Je m'explique :

J'ai un tableau avec une colonne "Résultat" qui correspond à la formule ("A")*$D$2

Dans mon exemple (ci-joint), je souhaiterais figer/verrouiller/rendre les lignes précédentes (A2:B7) non modifiables si A8 et B8 sont différentes de vide. De sorte que toute modification de ma variable (D2) ne change pas les résultats précédents (en orange dans mon exemple).

Merci d'avance de votre aide, suggestions et autres pistes !👍
 

Pièces jointes

Bonsoir IxeX,

Un texte multiplié par autre chose renvoie toujours une valeur d'erreur, je ne vais pas plus loin.

A+

Merci pour l'intervention job75..................... si ce genre de commentaire te donne l'impression d'être plus intelligent, tant mieux.

Pour me part, je reste courtois.

IxeX a dit :
J'ai donc un tableau avec une colonne "Résultat" dont la première valeur correspond à la formule A2*$D$2

Cette syntaxe te convient-elle mieux Job75 ? Ceci afin que la conversation devienne plus constructive. Merci
 
Dernière édition:
Bonjour IxeX, Job75, le forum

figer/verrouiller/rendre les lignes précédentes (A2:B7) non modifiables
Cela n'empêchera pas le calcul sur la feuille.

Des que excel voit une formule qui change exemple en D2 on met 20 à la place de 10 excel recalcule la ou les formules concernées par D2, que la feuille soit verrouillée ou non ne change rien.

Tout ce que l'on peut faire :
1)c'est empêcher le recalcul de la feuille complet mais il faudrait bien à un moment ou à un autre le rétablir et là pas de chance si D2 a changé les résultats des formules changeront....

2)Ou bien remplacer les formules par leurs résultats réels mais alors on perd l’intérêt des formules il ne restera que les valeurs !!!

@Phil69970
 
Dernière édition:
Bonjour IxeX, Phil69970, Laurent78,

Il a bien été dit :
les lignes précédentes (A2:B7) non modifiables si A8 et B8 sont différentes de vide.
Alors voyez le fichier .xlsm joint et cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim h&, tabval
With [A1].CurrentRegion.Resize(, 2)
    h = .Rows.Count
    If h = 1 Then Exit Sub
    Application.ScreenUpdating = False
    Application.EnableEvents = False 'désactive les évènements
    If .Rows(h).Find("", , xlValues) Is Nothing Then 'si la dernière ligne est pleine
        Application.Undo 'annule les modifications
        tabval = .Value 'tableau des valeurs
        Application.Undo 'rétablit les modifications
        .Resize(h - 1) = tabval 'entre les valeurs en écrasant les formules
    Else
        .Columns(2).Offset(1).Resize(h - 1) = "=A2*D$2" 'rétablit les formules
    End If
    Application.EnableEvents = True 'réactive les évènements
End With
End Sub
Elle se déclenche quand on modifie ou valide une cellule quelconque.

A+
 

Pièces jointes

Merci de vos réponses ! Je viens de consulter ta solution de Job75 --> C'est propre et efficace ! 👍 Merci ! A moi de l'adapter à présent !

En attendant, j'ai opté pour une feuille secondaire que j'incrémente au fur et à mesure de la modification de ma variable.

J'associe ces lignes nouvellement créées à mon tableau principal en fonction des dates correspondantes et ainsi de suite... Je posterai le code prochainement en réponse.

Encore merci !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2019 Code VBA
Réponses
12
Affichages
794
Réponses
2
Affichages
719
Retour