begin process at 2010 02 10 10:18:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

XML

 > 

gain de place dans une fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

gain de place dans une fonction

jeudi 11 décembre 2008 à 10:46:31 | gain de place dans une fonction

c135078

Bonjour,

En résumer j'ai écrit une macro me permettant grace à un formulaire d'écrire directement dans excel...
le formulaire est composé d'une liste de personne... à qui on doit sélectionner un poste pour une semaine

J'ai 81 combinaisons possible (9x9) où en fait en recopie systématiquement la même chose par poste mais en descendant d'une ligne pour chaque personne...

j'aurai donc aimé établir une "déclaration/une condition/un préalable...." de départ qui dirait si poste 1 .... écrire dans excel A, SOP, ...  du style

ActiveCell.Offset(1, 0).Range("A1").Select
If FormEncodage.personne1-poste1.Value = True Then
   poste 1
If FormEncodage.personne1-poste2.Value = True Then
   poste 2
...
ActiveCell.Offset(1, 0).Range("A1").Select
If FormEncodage.personne2-poste1.Value = True Then
   poste 1
If FormEncodage.personne2-poste2.Value = True Then
   poste 2
...

pour chaque poste ma macro ressemble à

If FormEncodage.SYop.Value = True Then
ActiveCell.Offset(0, 0).Value = "A"
ActiveCell.Offset(0, 1).Value = "SOP"
ActiveCell.Offset(0, 2).Value = "='pl'!B3"
ActiveCell.Offset(0, 3).Value = "='pl'!C3"
ActiveCell.Offset(0, 4).Value = "GYN/CPN (SOP)"
ActiveCell.Offset(0, 5).Value = "='pl'!E3"
ActiveCell.Offset(0, 6).Value = "='pl'!F3"
ActiveCell.Offset(0, 7).Value = "='pl'!G3"
ActiveCell.Offset(0, 8).Value = "='pl'!H3"
ActiveCell.Offset(0, 9).Value = "='pl'!I3"
ActiveCell.Offset(0, 10).Value = "='pl'!J3"
ActiveCell.Offset(0, 11).Value = "='pl'!K3"
End If

Donc ce qui me manque c'est la possibilité d'établir au départ Poste1 = "ma macro juste ici au dessus"
et la possibilité dans ma fonction de dire IF...true Then... "appliquer" Poste 1....

je sais pas si c'est très clair...mais comme je n'arrive à m'exprimer mieux j'ai du mal à faire des recherches sur le forum


Un tout grand merci d'avance

Jérôme
jeudi 11 décembre 2008 à 15:03:01 | Re : gain de place dans une fonction

nhervagault

Administrateur CodeS-SourceS
Salut,

J'ai quasi rien compris

1 --> Que vient faire le XML dans le choix de ta configuration
2 --> C'est pas du c# mais du VB (voir du VBA)


Je vais teneter de répondre
'C'est la ligne qui varie donc on atribue la ligne en fonction de la personne.


If FormEncodage.personne1-poste1.Value = True Then
 ligne = 1
end if

ActiveCell.Offset(ligne, 0).Value = "A"
ActiveCell.Offset(
ligne, 1).Value = "SOP"
ActiveCell.Offset(
ligne, 2).Value = "='pl'!B3"
ActiveCell.Offset(
ligne, 3).Value = "='pl'!C3"
.....

jeudi 11 décembre 2008 à 16:01:12 | Re : gain de place dans une fonction

c135078

Sorry j'ai essayer d'être le plus clair possible et je me rend bien compte que c'est pas gagné...

En fait j'ai un "userform" dans VB...

où j'ai créé 9 "frames" composée de 9 "optionbouton" chacune....

ce qui correspond à des 9 personnes (frame) pour lequelle on doit sélectionner au moins un poste de travail (optionbouton)

Chaque poste correspond à l'activité d'une semaine (10 demi-journées) où en fonction du poste les personnes font des taches différentes d'un jour à l'autre...

quand on valide l'encodage...

le tout est copié dans excel en ce déplacant d'une colonne vers la droite pour chaque demi journée et en descendant d'une ligne après chaque personne
 ce qui me rempli mon planing de la semaine...

actuellement voila ma macro dans laquelle la liste des taches est définie pour le poste 1 en ce décalant d'une colonne à droite après chaque tache...puis je recommence pour le poste 2 pour la personne 1...3...4 ... à la fin de la personne 1 je demande qu'il descende d'une ligne et je recommence ce qui pour 9x9 me fait 81 possibilités... il me dit que ma fonction est trop longue

pour la personne 1

ActiveCell.Offset(1, 0).Range("A1").Select
if FormEncodage.poste1.Value = True Then
ActiveCell.Offset(0, 0).Value = "Personne 1"
ActiveCell.Offset(0, 1).Value = "Tache1"
ActiveCell.Offset(0, 2).Value = "Tache2"
ActiveCell.Offset(0, 3).Value = "Tache3"
ActiveCell.Offset(0, 4).Value = ....
ActiveCell.Offset(0, 5).Value = "tache3"
ActiveCell.Offset(0, 6).Value = "='pl'!F3"
ActiveCell.Offset(0, 7).Value = "='pl'!G3"
ActiveCell.Offset(0, 8).Value = "='pl'!H3"
ActiveCell.Offset(0, 9).Value = "='pl'!I3"
ActiveCell.Offset(0, 10).Value = "='pl'!J3"
ActiveCell.Offset(0, 11).Value = "='pl'!K3"
End If
if FormEncodage.poste2.Value = True Then
...

puis pour la personne 2
'personne 2
ActiveCell.Offset(1, 0).Range("A1").Select

...

et ainsi de suite pour chaque personne

Mais pour chaque poste les taches journalières sont identiques... j'aurai donc aimé fixer des conditions de départ détaillant chaque poste et les rappeler en lorsque la valeur de ce poste = true pour cette personne...


J'espère que c'est plus clair...

déjà un tout grand merci

Jérôme

Un tout grand merci d'avance
jeudi 11 décembre 2008 à 16:06:29 | Re : gain de place dans une fonction

c135078

pour plus d'info je commence ma macro par

Sub Entrée ()
Userfom.hide
Range("A1").select
Selection.end(x1down).select
ActiveCell....

Un tout grand merci d'avance
jeudi 11 décembre 2008 à 21:17:41 | Re : gain de place dans une fonction

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !

Je ne connais pas trop ce type de programmation

if FormEncodage.poste1.Value = True Then
call remplirLigne (
"Personne 1",1)
End If


sub remplirligne(personne as string, numeropersonne as integer)

ActiveCell.Offset(0, 0).Value = personne
ActiveCell.Offset(0, 1).Value = "Tache1"
ActiveCell.Offset(0, 2).Value = "Tache2"
ActiveCell.Offset(0, 3).Value = "Tache3"
ActiveCell.Offset(0, 4).Value = ....
ActiveCell.Offset(0, 5).Value = "tache3"
ActiveCell.Offset(0, 6).Value = "='pl'!F3"
ActiveCell.Offset(0, 7).Value = "='pl'!G3"
ActiveCell.Offset(0, 8).Value = "='pl'!H3"
ActiveCell.Offset(0, 9).Value = "='pl'!I3"
ActiveCell.Offset(0, 10).Value = "='pl'!J3"
ActiveCell.Offset(0, 11).Value = "='pl'!K3"


end sub


apres il faut voir comment composé les formules
je ne connais pas ce style d'ecrriture
"='pl'!K3"

Peut devenir

"='p" +numeropersonne + "'!K3"
vendredi 12 décembre 2008 à 08:03:30 | Re : gain de place dans une fonction

c135078

Parfait ça marche un tout grand merci....

Un tout grand merci d'avance


Cette discussion est classée dans : poste, value, offset, activecell, pl


Répondre à ce message

Sujets en rapport avec ce message

C# et EXCEL [ par Polop ] Bonjour,j'ai un soucis avec Excel et C#.j'ai trouvé divers bout de code pour lire un classeur excel avec .NET(C#) mais mon classeur ne veut pas se met Cookie avec asp.net & c# [ par aeled ] J'ai un problème de cookie :En fait je crée un cookie avec Response.Cookies["monCookie"].Value = "monPrenom"le cookie se crée bien mais je n'arrive pa ouverture Fichier Xls : Ancien format ou bibliotheque de type non valide. [ par JCRen ] Bonjour a tous, je suis oqp a creer un system de reporting qui doit externaliser des informations d'une DB dans un fichier xls.Le probleme c'est qu'a [c#]System.DBNull [ par stiley1 ] Salut je voudrais ke kelk1 jete 1 coup d'oeuil sur ça.j'ai une appli ou je voudrais ke soit affiché seulement les images(byte) disponibles contenues d TrackBar flemmarde [ par arnold99 ] Bonjour bonjour,alors voilà j'essaye depuis un certain temps de modifier la Value d'une TrackBar qui se trouve sur une fenêtre (disons A), et ce en fo Mp3 [ par Bidou ] Bonjour,J'aimerais modifier une ou plusieurs value d'une property se trouvant dans l'onget summary d'un mp3.Bien entendu, cet onglet n'est disponible checked value d'un CheckedListBox [ par Florynth ] Bonjour à tous !Petit problème...je me sert d'un dataset pour remplir les valeurs d'un CheckedListBoxtout fonctionne bien... Mais la je veux récupéré Excel [ par Bidou ] Bonjour,J'ai besoin de faire une option export dans mon programme. J'aimerais exporter les données dans un format xls (Excel donc) mais je n'y arrive Plusieurs versions d'Excel ? [ par Athalus ] Bonjour,J'exporte des données dans un fichier Excel pas de pb avec mise en référence et tout et tout. Mais sur mon poste j'ai office 2000 et mon appli problème d'impression dans une imprimante réseau en C# [ par chafaqis ] salut tt le mondej'ai une imprimante à ticket je veux la connectée à un poste réseau après je veux accéder à cette imprimante par n'importe quel poste


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales