#valeur et renvoi de données

niki42

XLDnaute Occasionnel
Bonjour à tous

j'ai besoin de votre aide.
J'ai un fichier avec une feuille pour les factures et une pour le suivi.

J'ai un problème avec #valeur qui s'affiche dans les cellules qui n'ont pas de données alors que je voudrais que rien ne s'affiche
d'autre part je veux récupérer certaines données dans la feuille suivi mais je ne sais comment faire. je ne veux pas que les données s'effacent à chaque saisie.

Je joins un fichier avec quelques explications

Merci d'avance pour votre aide


[file name=facturemunici.zip size=3214]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/facturemunici.zip[/file]
 

Pièces jointes

  • facturemunici.zip
    3.1 KB · Affichages: 21

Abel

XLDnaute Accro
Bonjour Niki42,

Deux solutions :

soit en C14 : =SI(B14<>'';(B14*10)/100;'')
soit en B14 : =SI(ESTNA(RECHERCHEV(A14;G15:H20;2;VRAI));0;(RECHERCHEV(A14;G15:H20;2;VRAI)))

Dans le deuxième cas, tu auras des 'zéro' tout partout.


En espérant que cela te dépanne.


Abel.

Message édité par: Abel, à: 04/07/2005 17:07
 

Bebere

XLDnaute Barbatruc
bonjour à tous deux
corrigé formule sur feuille facture
fait une petite routine pour transféré les données
bouton de commande sur feuille facture
à bientôt [file name=facturemunici_20050704174317.zip size=12007]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/facturemunici_20050704174317.zip[/file]
 

Pièces jointes

  • facturemunici_20050704174317.zip
    11.7 KB · Affichages: 16

niki42

XLDnaute Occasionnel
Re le forum

Abel je te remercie beaucoup pour ta réponse. En fait je n'avais pas pensé aux <>. Pour cette partie c'est bon ça marche au poil.
Mais pour l'autre partie de la question tu n'aurais pas idée à me suggérer?

Encore merci

:huh: :huh:

Oups pardon Berbere je n'avais pas vu ta réponse, ça m'apprendra à ne pas rafraîchir avant de poster.
J'étudie ta réponse et je te tiens au courant

Message édité par: niki42, à: 04/07/2005 17:51
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Niki, Abel, Bebere

On peut pour cette dernière question, utiliser une macro évènementielle, je conseille before Save, au moins on est sur que c'est au moment où l'on sauve que l'on 'transfert'

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Transfert
End Sub


Code à Placer dans le Private Module de 'ThisWorkBook'

Peut être aussi une Phase de test avant le Code 'Transfert' Avec des Tests si les champs sont vides :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Verrou As Boolean

&nbsp; &nbsp;
With Sheets('Facture')
&nbsp; &nbsp; &nbsp; &nbsp;
If .Range('A4') = '' Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Champs NOM Non-Rempli'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Verrou =
True
&nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp;
If .Range('B5') = '' Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Champs date distribution Non-Rempli'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Verrou =
True
&nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp;
End With
Cancel = Verrou
If Verrou = False Then Transfert
End Sub


Bonne Soirée
@+Thierry
 

niki42

XLDnaute Occasionnel
Bonsoir le forum

Juste pour vous dire que pour l'instant mon fichier tourne bien.
Je vous remercie de votre aide.
Je vais terminer mon application et je reviendrai via ce post si j'ai un autre problème

Encore merci pour votre aide

:kiss: :kiss: :kiss: :kiss: :kiss:
 

niki42

XLDnaute Occasionnel
Hello

Je reviens avec mon fichier car j'ai un petit problème que j'espère vous pourrez m'aider à résoudre.

Le problème vient de la macro pour transférer les données.
J'utilise l'instruction: ligne = .Range('A65536').End(xlUp).Row
pour avoir la dernière ligne. Mais chaque fois que je transfère des données ça me remplace la dernière ligne ajoutée en l'occurence la première.
Par contre si je transfère la première ligne avec: ligne = .Range('A65536').End(xlUp).Row et que je modifie ensuite l'instruction en remplaçant A65536 par B65536 et bien ça me transfert bien les autres lignes correctement.

Si quelqu'un peut m'expliquer pourquoi, ça serait sympa


:huh: :huh:

PS Je joins mon fichier [file name=Classeur2_20050706140924.zip size=17123]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20050706140924.zip[/file]

Message édité par: niki42, à: 06/07/2005 16:32
 

Pièces jointes

  • Classeur2_20050706140924.zip
    16.7 KB · Affichages: 19

Abel

XLDnaute Accro
Bonjour Niki42,

C'est normal.

En colonne 'A', il n'y a rien sauf en A9.
Lorsque tu inscris les informations, tu te positionnes dans la dernière ligne où il y a quelque chose (la première en partant du bas, en fait) + 1 ligne.
Donc, à chaque fois tu inscris à partir de la ligne 10.

Quand tu cherches sur la colonne 'B', il y a déjà 'Mairie de machin' inscrit. Donc, xlUp + 1 ligne se positionne correctement.

Soit tu cherches la dernière ligne sur la colonne 'B', soit on imagine que la colonne 'A' sert à mettre un numéro d'enregistgrement (par exemple) ce qui pourrait donner ça :

Code:
If ligne = 9 Then
    Range('a' & ligne).Offset(1, 0).Value = 1
Else
    Range('a' & ligne).Offset(1, 0).Value = Range('a' & ligne).Value + 1
End If

A mettre avant End Sub par exemple. Et bien sûr, ce petit tableau ne doit plus changer de place sinon il faut trouver une astuce pour déterminer la position de la toute première ligne.


Abel.

Message édité par: Abel, à: 07/07/2005 08:16
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 926
Membres
101 841
dernier inscrit
ferid87