Comment ne pas répéter des données.

pjiu

XLDnaute Junior
Bonjour tout le monde !
Bon je cherche et je ne trouve pas, ma question est peut être ridicule mais voila, je dois rentré dans un tableur des mouvements. Chaque mouvement se trouve sur une ligne avec des informations tels que l'objet, le type, le montant et la date de ce mouvement. Après avoir rentrés tout les mouvements, dans la colonne date, je trie mes mouvements par date et j'ai des mouvements qui se sont produits le même jour, comment dire à Excel de ne rien afficher si deux (ou plus) mouvements se sont produit la même journée ?
En gros, dans une même colonne (date), comment afficher :
- ligne 5 : date A du mouvement
- ligne 6 : rien car mouvement à la même date que ligne 5
- ligne 7 : rien car mouvement à la même date que ligne 5
- ligne 8 : date B du mouvement

Aussi, un peu plus réfléchi : j'ai une période qui va jusque le jour J, jour que dois saisir l'utilisateur (ainsi que la durée). Imaginons que l'utilisateur rentre 16 aout, j'aimerais afficher tout les mouvements avant ce 16 aout. Avez vous une idée ?:confused:

Merci bcp !
 

pjiu

XLDnaute Junior
Re : Comment ne pas répéter des données.

Yeah !
Bon j'ai réfléchi et ça y est j'ai réussi à exporter ta macro (problème 2 pour l'instant) ! Il suffit de faire copier coller de ton code donc mon code mais en réajustant les chiffres et lettres (ça me fait bizzard ce langage moi jconnais juste python !)... Bon mptnt jdois essayer de faire la somme des mouvements restants ? une idée ?
 

pjiu

XLDnaute Junior
Re : Comment ne pas répéter des données.

Après réflexion, il faudrait faire un code qui dite que si la cellule de la 'colonne montant' n'est pas caché alors ajouté sa valeur dns une case total. Qu'en penses tu ? Bouh ça m'énerve de pas savoir programmé en Excel !!
 

pjiu

XLDnaute Junior
Re : Comment ne pas répéter des données.

Bon et bien j'étais toute fière moi d'avoir réussi à 'exporter' ta macro, mais mtnt pas moyen d'enregistrer la feuille. Message affiché :
Les fonctionnalités suivantes ne peuvent pas être enregistré dans des classeurs sans macro :
- Projet VB
Pour enregistrer un fichier avec ces fonctionnalités, cliquer sur Non puis sélectionner un type de fichier prenant en charge les macros dans la liste Type fichier.
Pour continuer à enregistrer en tant que classeur sans macro, cliquer sur oui.

Ainsi, j'ai trois possiblités : 'oui, Non, aide'...
Comment faire ??
 

Efgé

XLDnaute Barbatruc
Re : Comment ne pas répéter des données.

Bonjour pjiu,
Je voi que tu a avancé :)
Pour le problème de
Code:
Les fonctionnalités suivantes ne peuvent pas être enregistré dans des classeurs sans macro
C'est une version 2007 que tu utilise. tu peux choisir enregister sous 'classeur excel 97 2003' ou une version en .XLSM (mais 2003 ne l'ouvrira pas).
Pour les boutons dis moi ou tu en est ;).
Je te laisse une doc
Cordialement

EDIT Ha oui donne moi un exemple des sommes à prendre en compte (sont elles toujours positive ou les débit sont ils sous la forme -200.00)
 

Pièces jointes

  • pjiu.zip
    6 KB · Affichages: 37
Dernière édition:

pjiu

XLDnaute Junior
Re : Comment ne pas répéter des données.

Oui j'avance mais je t'avoue que je suis au bord de la crise nerf là :mad: !!!! On m'entends crier, il va falloir que je fasse une petite pause ^^
En attendant voici un exemple concret avec des sommes. Merci bcp de m'aider et de me donner ton temps, je vais aller me détacher de l'ordi quelques heures..
 

Pièces jointes

  • probsomme.xls
    28 KB · Affichages: 58

pjiu

XLDnaute Junior
Re : Comment ne pas répéter des données.

Oui j'avance mais je t'avoue que je suis au bord de la crise nerf là :mad: !!!! On m'entends crier, il va falloir que je fasse une petite pause ^^
J'arrive même plus en re faire le déplacement de ton code... quelle est la procédure à suivre ?
En attendant voici un exemple concret avec des sommes. Merci bcp de m'aider et de me donner ton temps, je vais aller me détacher de l'ordi quelques heures..
 

pjiu

XLDnaute Junior
Re : Comment ne pas répéter des données.

Hé hé =D Ca y est j'ai réussi pour faire disparaitre les dates... vraiment merci bcp !! (j'ai même réussi a enregistrer mon doc et tout =D)
Mais j'y arrive pas pour le problème sans bouttons... j'avais réussi tout à l'heure et là ! J'ai dû mal à l'appliquer, donc je joins le code avec mon problème si t'as une idée...
Toujours pas d'idée pour la somme des montants ?
 

Efgé

XLDnaute Barbatruc
Re : Comment ne pas répéter des données.

Re
Pour le code sans bouton:
Tu click à droite sur l'onglet de ta feuille puis tu choisi visualiser le code.
Ensuite tu colle ça:
Code:
[COLOR=green]'Cette macro se déclanche quant la feuille change[/COLOR]
[COLOR=blue]Private Sub[/COLOR] Worksheet_Change([COLOR=blue]ByVal[/COLOR] Target [COLOR=blue]As[/COLOR] Range)
[COLOR=green]'Si la cellule qui change (Target) est la F5 et qu'il y a bien une date dans[/COLOR]
[COLOR=green]'cette cellule Alors[/COLOR]
[COLOR=blue]If Not[/COLOR] Intersect(Target, Range("[COLOR=red][B]F5[/B][/COLOR]")) [COLOR=blue]Is Nothing And[/COLOR] IsDate(Target.Value) [COLOR=blue]Then[/COLOR]
[COLOR=green]'On réaffiche toutes les lignes (Hidden = False)[/COLOR]
Cells.EntireRow.Hidden = [COLOR=blue]False[/COLOR]
   [COLOR=green]'Pour les lignes qui vont de la dernière remplie en colonne E à la 10 en remontant[/COLOR]
    [COLOR=blue]For[/COLOR] i = Range("E" & Application.Rows.Count).End(xlUp).Row [COLOR=blue]To[/COLOR] 10 [COLOR=blue]Step[/COLOR] -1
       [COLOR=green]'Si la cellule ligne i colonne 5 (E) est inférieur ou égale[/COLOR]
[COLOR=green]    'a F5 (targzet) alors on masque la ligne (Hidden = True)[/COLOR]
        [COLOR=blue]If[/COLOR] Cells(i, 5) >= Target.Value [COLOR=blue]Then[/COLOR] Rows(i).Hidden = [COLOR=blue]True[/COLOR]
   [COLOR=green]'Prochaine ligne[/COLOR]
    [COLOR=blue]Next[/COLOR] i
[COLOR=green]'Fin de la prmière condition[/COLOR]
[COLOR=blue]End If[/COLOR]
[COLOR=green]'Si la cellule F5 est à blanc (="") alors on réaffiche toutes les lignes[/COLOR]
[COLOR=blue]If[/COLOR] Target.Value = "" [COLOR=blue]Then[/COLOR] Cells.EntireRow.Hidden = [COLOR=blue]False[/COLOR]
[COLOR=blue]End Sub[/COLOR]
Pour changer la cellule ou tu rentre la date, il faut changer ce qui est en rouge.
Pour la somme je verrai demain mais sans certitude...
Bon courage
Cordialement
 

pjiu

XLDnaute Junior
Re : Comment ne pas répéter des données.

Oui mais j'avais déjà fais ça ! mais en fait jme rends compte quej'ai oublié de te joindre le document.
Le voici joint !! (je comprends mtnt pk tu m'avais envoyé l'autre doc en zip ^^)
 

Pièces jointes

  • probmacro.zip
    22 bytes · Affichages: 26
  • probmacro.zip
    22 bytes · Affichages: 31
  • probmacro.zip
    22 bytes · Affichages: 25
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Comment ne pas répéter des données.

Bonjour pjiu, le fil, le forum,
Ton ZIP est vide, mais ce n'est pas grave car je pense que tu as trouvé d'autres solutions sur les multiples fils ouverts sur ce sujet.
Bon courage
Cordialement
 

pjiu

XLDnaute Junior
Re : Comment ne pas répéter des données.

Ah lala, désolée je ne suis vraiment pas douée, mais cette fois-ci, je suis sûre que la pièce jointe est bien là. C'est vrai que j'ai trouvé d'autres moyens, mais j'aimerais bien utilisé les 2 ! Voili voilou
 

Pièces jointes

  • probmacro.zip
    41.7 KB · Affichages: 31
  • probmacro.zip
    41.7 KB · Affichages: 27
  • probmacro.zip
    41.7 KB · Affichages: 29

Efgé

XLDnaute Barbatruc
Re : Comment ne pas répéter des données.

Re
Il faut changer
Code:
For i = Range("D" & Application.Rows.Count).End(xlUp).Row To 10 Step -1
Par
Code:
For i = Range("D" & Application.Rows.Count).End(xlUp).Row To [COLOR=red][B]11[/B][/COLOR] Step -1

Et en fin de macro
Code:
If Target.Value = "" Then Cells.EntireRow.Hidden = False
par
Code:
If Not Intersect(Target, Range("F5")) Is Nothing And Target.Value = "" Then Cells.EntireRow.Hidden = False
pour que les lignes ne réaparaissent que l'orsque l'on vide la cellule J5
Cordialement
 

pjiu

XLDnaute Junior
Re : Comment ne pas répéter des données.

AAAAAAAAAAAAAAAAAAAAAAAAA
Ca marcheeeeeeee !!!!!!!!!!!!! Je suis trop contenteeeeeeeeeeeee ^^
Ca y est je commence à mieux comprendre comment tout ça fonctionne... Merci bcp efgé !! juste tu crois qu'il y a moyen de faire le total de la somme des mouvements restants alors ?
 

mikeo

XLDnaute Occasionnel
Re : Comment ne pas répéter des données.

Bonjour,
Bonjour Efgé, tu es un vrai pédagogue, j'apprends aussi.
pour pjiu, pour ta dernière question, je peux te suggérer d'utiliser une fonction simple sans macro :
sous.total(109;...) voir fichier.

Mikeo
 

Pièces jointes

  • questionsexcel(4).xls
    48 KB · Affichages: 42
  • questionsexcel(4).xls
    48 KB · Affichages: 42
  • questionsexcel(4).xls
    48 KB · Affichages: 46

Discussions similaires

Réponses
11
Affichages
572

Statistiques des forums

Discussions
312 489
Messages
2 088 849
Membres
103 974
dernier inscrit
chmikha