Perte de référence après insertion de ligne

[color=blue]Bonjour à toutes et à tous

Je travail sous Vista avec Excel 2003

Dans le fichier joint voici mon problème :

https://www.excel-pratique.com/~files/doc/Exemple_Copie.xls

La ligne 19 est parfaite avec sa formule en M19 puisqu'elle ne rajoute

"NUMERISATION" et "ARCHIVAGE" que si la plage C19:I19 est vide :

+SI(NBVAL(C19:I19)=0;0;$C$12+$C$13)

Pour ma culture personelle pouvez-vous me dire pourquoi la formule

est remplacée par le signe "-" dans la cellule de la feuille ?

Le bouton "Rajout_ligne" fait parfaitement son travail

en ligne 20 en insérant "LIGNE_MATRICE" sauf qu'il a perdu les références :

+SI(NBVAL(#REF!)=0;0;$C$12+$C$13)

et donc il ajoute "NUMERISATION" et "ARCHIVAGE" alors que la plage C20:I.20 est vide,

il devrait renvoyer 0 quand la plage est vide.

Merci de votre aide si précieuse avant que je craque

Bonjour,

Réponse à la 1ère question : Parce que cette cellule a un format personnalisé. A mettre un format standard si tu veux afficher classique.

Réponse à la 2è question :

Remplacer la formule suivante dans la cellule AD3 :

=SI(ESTVIDE($C3);;$L3+$C$5)+SI(ESTVIDE($D3);;$L3+$C$6)+SI(ESTVIDE($E3);;$L3+$C$7)+SI(ESTVIDE($F3);;$L3+$C$8)+SI(ESTVIDE($G3);;$L3+$C$9)+SI(ESTVIDE($H3);;$L3+$C$10)+SI(ESTVIDE($I3);;$L3+$C$11)+SI(NBVAL(C19:I19)=0;0;$C$12+$C$13)

par celle-ci :

=SI(ESTVIDE($C3);;$L3+$C$5)+SI(ESTVIDE($D3);;$L3+$C$6)+SI(ESTVIDE($E3);;$L3+$C$7)+SI(ESTVIDE($F3);;$L3+$C$8)+SI(ESTVIDE($G3);;$L3+$C$9)+SI(ESTVIDE($H3);;$L3+$C$10)+SI(ESTVIDE($I3);;$L3+$C$11)+SI(NBVAL(T3:Z3)=0;0;$C$12+$C$13)

A tester.

Cdlt,

Bonjour

le "-" indique un format Comptabilité. Si tu veux l'éliminer, passe en format Nombre.

Ta formule en ligne 3 est incorrecte

+SI(NBVAL($C3:$I3)

Cordialement

Bonjour,

Et pour maintenir le € dans l'affichage, sans passer par le format comptabilité, il y a le format personnalisé :

Standard" €";;

Standard pouvant être remplacé par n'importe quel autre format.

Exemple : # ##0.00" €";;

Les ;; pour ne pas afficher 0.00 €

Re

Merci pour ma culture personelle

En fait la LIGNE_MATRICE sert comme modèle de ligne pour l'insertion

c'est à ce moment là que la formule ne s'adapte pas correctement.

Voir code derrière le bouton "Rajout ligne"

Private Sub CommandButton1_Click()
'Macro pour bg - XL Pratique le 20/03/08 - Dan
Dim Ligne As Integer
Dim i As Byte
Ligne = Range("A65536").End(xlUp).Row
Range("A" & Ligne).EntireRow.Insert
Range("Ligne_Matrice").Copy Destination:=Range("A" & Ligne)
For i = 3 To 10
With Range("A" & Ligne)
If i < 10 Then
.Offset(1, i - 1).FormulaR1C1 = "=COUNTA(R19C:R[-1]C)"
Else: .Offset(1, i - 1) = "=SUM(R19C:R[-1]C)"
End If
End With
Next
End Sub

Merci encore de vos efforts

Rechercher des sujets similaires à "perte reference insertion ligne"