collage conditionnel?

baboucm

XLDnaute Nouveau
Bonjour à tous
j'ai une question hyper complexe...
J'explique mon problème:
j'ai un classeur excel de 5 feuilles:
feuille1=données
feuille2=accepted
feuille3=rejected
feuille4=pending
feuille5=autres

dans la feuille 1 se trouve toutes mes données que je rentre quotidiennement dans cette feuille au fil de l'évolution de mon travail.
pour votre comprehension le fichier concerne des demandes de remboursement
la colonne J de la feuille1 indique si la demande est accepted, rejected, pending ou autres

Je voudrai que en fonction de la valeur dans la colonne J de la feuille 1, si en ligne Pi (Pi signifie pour moi une ligne du tableau) le resultat est "accepted" il faut copier toute la ligne Pi dans la feuille Accepted, à la suite des lignes déjà remplies. Et de même si le résultat est "rejected" copier la ligne Pi dans la feuille rejected à la suite, idem avec pending et Autres...

jusque là je sais même pas si c'est faisable!!

une fois la ligne Pi copiée dans une des 4 feuilles elle devient la ligne que j'appelle Pi' correspondant à la ligne Pi de la feuille donnée
je voudrai que si je modifie une cellule de la ligne Pi' autre que J la modification se répercute également dans le feuille données à la ligne Pi

dernière demande:
est-ce qu'il existe une manipulation simple pour que quand je remplisse mon tableau données les lignes que je viens de remplir se copies d'un seul geste comme expliqué ci-dessus?
Et enfin si une demande en statut pending donc copiée avec un lien dans les feuilles pending ligne Pi' et feuille données ligne Pi si la demande devient accepted que se passe-t-il? où dois-je effectuer la modification de statut?

par avance je vous remercie de votre aide!!
si le père noel existe, il y a une solution a mon problème!!
 
G

Guest

Guest
Re : collage conditionnel?

Re,

Ce qui est étonnant c'est que ce soit ce paramètre qui fasse échouer la recherche par CTRL+T. Sans doute dans tes Cellules as-tu des des caractères non visibles (espaces? autres?) que tu ne tapes pas dans la boîte de dialogues.

Si tel est le cas tu as intérêt à détectés ces caractères et les éliminés. (Source d'érreurs futures).

A+
 

baboucm

XLDnaute Nouveau
Re : collage conditionnel?

Bonjour à tous,
bonjour Hasco,

En effet c'est exact, dans le fichier qui est en ligne ici l'identifiant unique est sous forme xxx yyyyyyyy, xxx étant un code identifiant une entreprise et yyyyyyyy étant un code identifiant une commande. J'avais besoin de faire un filtre auto sur les entreprise donc j'ai séparé en deux mon identifiant à l'aide d'un =gauche($d2;3) ;en faisant cette manip j'ai laissé un espace devant l'identifiant unique. Ce dernier yyyyyyyy restant unique et dans le cas où il y a 2 réclamations sur une même commande je fais yyyyyyyy/1.

D'ailleurs à ce propos est-il possible de faire apparaitre à l'ouverture du fichier une fenêtre de dialogue avec les instructions pour utiliser ce programme (comme par exemple ne pas mettre d'espace dans l'identifiant, ne pas toucher à la feuilles variables, respecter l'orthographe et la casse dans les statuts....ect) car ce n'est pas moi qui vais utiliser ce programme et je crains que s'il n'y a pas un minimum de consignes ça devienne vite un amas de chiffres inexploitable!!

bonne journée et bon courage ( pour ceux qui travaillent)!! (encore une dure journée de labeur pour gagner sa croute....)
 
G

Guest

Guest
Re : collage conditionnel?

bonsoir Babou, le forum,

Concernant l'identifiant. Il peut y avoir des espaces à l'interieur de l'identifiant. Ce qui peut-être problématique pour les recherches par CTRL+ ce sont les espaces de fin alors que l'option 'totalité du contenu de la cellule' est cochée dans la boîte de dialogue de recherche.

Pour ce qui est de la feuille 'Variables' comme je te le disais dans un post précédent, cette feuille peut-être cachée. Pour cela, ouvre l'éditeur VBA, dans l'arborescence du projet, sélectionne la feuille 'Variables' et dans la fenêtre des propriétés met la propriété 'Visible' à xlSheetVeryHidden. Elle ne pourra être afficher que par le code ou en changeant sa propriété, et n'apparaitra pas dans format/Feuilles/Afficher (ou masquer).

Pour avoir une orthographe exact dans les statuts, tu peux faire une liste de validation qui ne permette que la saisie de certains statuts. Ou on peut vérifier par macro (dans celle qu'on a déjà) si le statut entré par l'utilisateur appartient à une liste.

Pour la Casse, le programme compare de toute façon le statut entré sur les majuscules:

Code:
   'Récupérer la valeur du changement
            LeStatut = UCase(Target.Text)

Target.Text est le texte entré en minuscule ou majuscule
UCase(Target.Text) Transforme la chaine de caractère en majuscule pour comparer la valeur aux valeurs qui suivent dans l'instruction SELECT CASE....END SELECT.

En ce qui concerne une aide à la saisie, tu peux dans une feuille 'Aide' formater des textes d'aide et nous pouvons faire ouvrir le fichier sur cette feuille, par l' évènement WorkBook_Open().

Rajoute ceci dans le module ThisWorkBook lorsque tu auras fais ta feuille 'Aide' :

Code:
Private Sub Workbook_Open()
    Sheets("Aide").Activate
End Sub

Ensuite protège la feuille.

Avant de donner ton classeur fais le tester à quelqu'un pour voir ce qui pose problème.

A bientôt
 
Dernière modification par un modérateur:

baboucm

XLDnaute Nouveau
Re : collage conditionnel?

Bonjour à tous,
Bonjour Hasco,
J'ai presque finit mon programme, quasi tout est ok.
J'ai fait ma feuille d'aide qui apparait à l'ouverture.
j'ai retiré les espaces inutiles, et fait des validations pour les statuts.
pour moi tout est ok sauf une chose, je ne peux pas rentrer une nouvelle ligne sur une autre feuille que données sinon le programme ne fonctionne pas, en revanche pour les modifications aucun problème! je voulais juste savoir si c'est normal, parce que je n'ai plus le temps de tout changer, si c'est normal je vais mettre une instruction supplementaire sur la feuille aide expliquant qu'on ne peut ajouter des lignes de réclamations supplémentaires que sur la feuille donnees.
voila pour l'instant, là je vais faire tester mon programme
a++
 
G

Guest

Guest
Re : collage conditionnel?

Hello Babou,

Oui, c'est normal, car rappèle toi que la feuille Données est la feuille tableau de bord. Si une référence est dans une autre feuille mais pas dans 'Données' celle-là ne sera pas suivie par le programme.

A+
 

baboucm

XLDnaute Nouveau
Re : collage conditionnel?

re,
Ok pas de pb!!
J'ai fait d'autres test si je ne me trompe on ne peut pas changer l'ordre des lignes sinon tout bug (normal) cad quand on trie par date ça bug (ça c'est pas un pb j'ai juste fait ça pour m'amuser)
je voulais aussi essayer de rajouter un controle sur le numero d'expedition mais ça marche pas mais c'est des détails pour m'amuser!! (par ce que quand on commence on ne s'arrete plus!!!)
je cherche quelqu'un de l'entreprise pour tester mon programme mais tout le monde est parti donc je le ferais tester demain.....
(en esperant qu'avec ce programme j'aurais une petite chance d'avoir une petite place au service informatique, a la place d'un licenciement économique....crise oblige il faut se recycler!)
en tout cas (cf mon premier post) le père noel existe!! pour tous ceux qui n'y croyait plus!! il s'appel excel-downloads!!! lol
bonne soirée,
et surtout merci infiniment Hasco
 

baboucm

XLDnaute Nouveau
Re : collage conditionnel?

Bonjour à tous,
Bonjour Hasco,
Mauvaise nouvelle j'ai un bug
erreur de type 13 sur la ligne
If oldSheet <> "" And [NumLigne] > 0 Then

historique des actions:
je ne sais pas par quel moyen mais un identifiant unique s'est mal recopié ou suite à une mauvaise manip il lui manquait des chiffres.
Je m'en suis rendue compte car en changeant le statut de cet identifiant de autre a accepted la ligne s'est bien recopiée dans la feuille accepted mais ne s'est pas supprimé de la feuilles autres, normal puisque que l'identifiant n'était pas bon!
donc je change l'identifiant pour le rentrer correctement et je revalide ma ligne dans la feuille données...mais rien ne se passe, alors je supprime la ligne!! evidement comme je m'y attendais quand je modifie les lignes suivantes ça bug!! je suppose donc que ça bug parce que j'ai supprimer une ligne! je ferme donc sans enregistrer pour revenir à la configuration de hier qui fonctionnait.
je réouvre mon classeur, et je modifie tout de suite les identifiant qui se sont mal recopiés....mais ça bug toujours à chaque action j'ai "erreur de type 13" sur la ligne
If oldSheet <> "" And [NumLigne] > 0 Then
donc desappointée et ne sachant que faire j'arrete le debogueur...
Que faire???
 

baboucm

XLDnaute Nouveau
Re : collage conditionnel?

Alors après recherches sur ce forum et sur internet sur erreur de type 13 il apparait que c'est un problème de variables, en effet sur la feuille variables la case NumLigne affiche #N/A.
je sais pas pourquoi, j'ai verifier insertion / nom / definir....
j'ai verifié la formule dans NumLigne =SI(NomFeuille<>"";EQUIV(RefEnCours;INDIRECT(NomFeuille & "!D: D");0);0).....je sais pas..snif..maman pourquoi tu m'as faite plus intelligente!!!!
 

baboucm

XLDnaute Nouveau
Re : collage conditionnel?

est-ce que le problème viendrait du fait que mon identifiant unique est stocké en tant que texte??
parce que si je le stocke en tant que nombre ça me supprime le zero de debut quand la référence commence par zero....???apparement non car quand je met format standard ça change rien....et en plus maintenant la macro tourne j'ai plus de messages d'erreurs mais ça ne fonctionne pas!!! aucun chagement ne fonctionne sur aucune feuilles...
 
G

Guest

Guest
Re : collage conditionnel?

Babou,

difficile de suivre mais, pour éviter le message d'erreur tu peux remplacer quelques lignes par celles-ci (les changements sont en rouge)

Code:
                '-----------------------------------------------------------------------------
                '               SUPPRESSION DES DONNEES DANS L'ANCIENNE FEUILLE
                '-----------------------------------------------------------------------------
                'si les forumule de la feuilles variables ont bien retourné
                'un nom de feuille et un numéro de ligne
 
                If oldSheet <> "" And [B][COLOR=red]Not IsError[/COLOR][COLOR=red]([/COLOR][/B][NumLigne][COLOR=red][B])[/B][/COLOR] Then
                    'on désactive la gestion des évènement pour éviter
                    'les appels en boucle
                    'et on supprime la ligne de l'ancienne feuille
                    [B][COLOR=red]If [NumLigne] > 0 Then[/COLOR][/B]
                        Application.EnableEvents = False
                        Sheets(oldSheet).Cells([NumLigne], 1).EntireRow.Delete
                        Application.EnableEvents = True
                    [COLOR=red][B]End If[/B][/COLOR]
                End If

IsError() renvoie vrai si une formule contient une valeur d'erreur (NA, Div/0 etc..).

Essaies de comprendre dans quel(s) cas la formule renvoie une valeur d'erreur pour le numéro de ligne et en fonction de cela on avisera.

Sinon joints un bout de fichier. Avec quelques données (50 lignes) et macros.

A+
 

baboucm

XLDnaute Nouveau
Re : collage conditionnel?

Alors j'ai essayé en rajoutant les nouvelles lignes ça fonctionne mais ça supprime pas la ligne dans l'ancienne feuille et ça ne lui change pas son statut non plus...mais ça la rajoute bien dans la nouvelle feuille...
et j'ai pas d'erreur sur NumLigne sur l'essai que je viens de faire!
Precedement avant la modif NumLigne etait en erreur à chaque fois.
ça va être difficile d'envoyer un fichier par ce que j'ai pas de problèmes avec les fichiers de bases c'est quand j'adapte à mon fichier original confidentiel que ça pose problème!!
là j'ai finit de bosser, donc je vais rentrer chez moi et essayer de trouver un ordi (mon ordi m'a laché le 24 decembre c'est pour ça que je crois plus au père noel)et essayer d'installer excel pour pouvoir regler ça de chez moi ce week-end (c'est mon copain qui va être content que je ramène du boulot à la maison)
 
G

Guest

Guest
Re : collage conditionnel?

Re,

ça va être difficile d'envoyer un fichier par ce que j'ai pas de problèmes avec les fichiers de bases c'est quand j'adapte à mon fichier original confidentiel que ça pose problème!!

Transforme uniquement les données confidentielles sur une cinquantaine de lignes en données bidons. Les références quant à elles ne diront rien à personnes!

Bon week-end
 

jeanpierre

Nous a quitté
Repose en paix
Re : collage conditionnel?

Bonjour à tous,

Pour complément, les données confidentielles ne résident que dans des noms, des adresses et numéro de téléphone. Les valeurs ne sont pas confidentielles, mieux elles permettent une réelle objectivité, contrairement à des valeurs bidons qui peuvent dégrader la compréhension.

Les valeurs peuvent être n'importe quoi, des sous, des euros, des billes et j'en passe.

Voilà et bon après-midi.

Jean-Pierre
 

baboucm

XLDnaute Nouveau
Re : collage conditionnel?

Bonjour à tous,
J'espère que vous avez passé un bon week-end.
Pour ma part j'ai mis un certain temps à installer une version d'excel qui met 15 messages d'erreurs à l'ouverture, sur une antiquité qui rame! sans parler de la connection internet (quelle idée d'habiter le trou du c** du monde!!)
bref
Je me suis envoyée une ancienne version du programme que j'ai remodifié pas à pas comme hasco me l'a indiqué! et ça marche, donc en quelques sortes mon problème est résolu.
cependant je ne comprend pas pourquoi vendredi ça ne fonctionnait pas certainement une mauvaise manip (j'avais modifié les identifiants uniques erronés avec les macro activées c'est peut-etre ça qui à tout fait bugger???)
est-ce qu'il y a des choses à ne surtout pas faire, pour ne pas nuire au bon fonctionnement du programme?
car comme je ne maitrise pas assez pour réparer les bugs il faut que j'anticipe en essayant de les éviter!!

en tout cas je vous remercie tous pour ce forum, pour ceux qui y sont impliqués et surtout ceux qui le font vivre notament en répondant à nos questions.
Je n'aurai jamais su faire ça toute seule, et j'ai appris beaucoup alors encore merci à tous et à Hasco.

et puis à bientot....

PS: je compte sur vous quand le programme me posera des soucis que je ne saurais pas résoudre seule....
 
G

Guest

Guest
Re : collage conditionnel?

Bonsoir Babou, le forum

est-ce qu'il y a des choses à ne surtout pas faire

Lorsqu'on utilise excel avec des macros qui touchent aux données, il vaut mieux éviter de toucher à la structure des feuilles, leur nom et modifier le type, la nature ou l'emplacement des données.

je compte sur vous quand le programme me posera des soucis que je ne saurais pas résoudre seule

Le but du forum est d'apprendre et pas de faire des macros à la demande.
Aussi si tu as un problème, essaie de le résoudre et de comprendre ce qui se passe et comment fonctionne les macros données. Fais des test et reviens nous voir (avec tes essais) si tu n'y arrive pas.

bonne continuation
A+
 

Discussions similaires

Réponses
9
Affichages
493
Réponses
25
Affichages
770
Réponses
7
Affichages
405

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz