![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2005
Localisation: Bouillon (Belgique)
Messages: 134
|
Bonsoir les Foromeurs, bonsoir les Foromeuses.
J'ai un petit soucis. J'ai créé un fichier pour pouvoir faire un classement de dossiers aux archives. Je dois entrer des données dans un USF comme, par exemple, le nom du client , son prénom, le nom de son épouse, et le numéro de dossier du client. Quand on entre le n° de dossier, automatiquement apparraissent dans l'USF, le n° d'archivage et le n° de bac dans lequel on va ranger le dossier. Pour le n° d'archivage, pas de problème, je lui dit simplement de prendre le dernier n° attribué et d'ajouter "1". Par contre pour le n° de bac, ça pose problème. Un bac doit contenir 100 dossiers. Donc du premier dossier à archiver au 100ème, ils vont dans le bac "1". Puis du 101ème dossier au 200ème, ils vont dans le bac 2, et ainsi de suite. Je n'avais pas de problème jusqu'à ce que j'arrive au bac 10. Là, il ne met plus de n° et ça devient "0". Je lui donnais comme instruction: ( en sachant que "J5" à une formule du type "=NB(A5:A19700)" , pour qu'il sache que quand il y a X dossiers d'encodés qu'il faut mettre tel n°) Private Sub NBac_Change() End Sub Private Sub NClient1_AfterUpdate() Range("g65535").End(xlUp).Select NArch = ActiveCell.Offset(0, -6).Value + 1 'NArch est égal au n° d'archivage ' Mettre un n° au bac If NArch >= "0" And NArch <= "100" Then NBac.Value = "1" End If If NArch > "100" And NArch <= "200" Then NBac.Value = "2" End If If NArch > "200" And NArch <= "300" Then NBac.Value = "3" End If If NArch > "300" And NArch <= "400" Then NBac.Value = "4" End If If NArch > "400" And NArch <= "500" Then NBac.Value = "5" End If If Range("J5").Value > "500" And Range("J5").Value <= "600" Then NBac.Value = "6" End If If Range("J5") > "600" And Range("J5") <= "700" Then NBac.Value = "7" End If If Range("J5") > "700" And Range("J5") <= "800" Then NBac.Value = "8" End If If Range("J5") > "800" And Range("J5") <= "900" Then NBac.Value = "9" End If If Range("J5") > "900" And Range("J5") <= "1000" Then NBac.Value = "10" End If If Range("J5") > "1000" And Range("J5") <= "1100" Then NBac.Value = "11" End If If Range("J5") > "1100" And Range("J5") <= "1200" Then NBac.Value = "12" End If Et ainsi de suite pour pouvoir faire 100 ou 200 bacs, je ne sais pas de trop. là, je m'étais arrêté à 50 bacs parce que ça posait problème avec le "6" et le "60". Quand il fallait le bac "6", il mettait "60" donc du coup, j'ai été jusque 50 mais maintenant, je me rends compte que de toute façon ça ne va pas non plus après "9". Au tout début, j'avais une formule bien définie (une sorte de division) mais au fur at à mesur, il diminuait le nombre de dossiers par bac donc ça n'allait pas non plus. C'était: Private Sub NClient1_AfterUpdate() NBac = 1 + Int((Range("J5").Value - 1) / 100) Range("g65535").End(xlUp).Select NArch = ActiveCell.Offset(0, -6).Value + 1 End Sub Est-ce quelqu'un sait me dépanner? Nous nous en servons au travail et du coup, on est bloqué. Merci d'avance à ceux qui peuvent m'aider. Bonne soirée.
__________________
Pétronie. "Qui se lève tard ne voit pas le lézard se brosser les dents." |
|
|
|
| ANNONCES | |||
|
|
|
|
#3 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2005
Localisation: Bouillon (Belgique)
Messages: 134
|
Ben non, ça ne marche pas non plus.
Etant donné que "J5" n'est quasiment jamais un chiffre rond, j'ai des bacs du style "8,4", " 8,5",... Il faudrait pouvoir lui dire que quand le n° d'archive est égal à 840, par exemple, qu'il doit mettre le bac "8" en gros, il doit partir du n° d'archive qui est ici "840" et prendre le 3ème chiffre en partant de la droite (ou 3ème et 4ème chiffres quand on arrivera dans des nombres beaucoup plus grands). Quand on arrivera à des nombres comme 8400, il devra à ce moment-là, prendre "84". D'un autre côté, c'est pas tellement fesable pour les plus petits chiffres.... Bref je me creuse la tête et je ne vois pas comment l'exprimer. Je trouvais que ma façon de faire au départ n'était pas mauvaise mais je ne comprends pas pourquoi ça ne fonctionne pas toujours.
__________________
Pétronie. "Qui se lève tard ne voit pas le lézard se brosser les dents." |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2006
Localisation: Ile de France sud
Messages: 365
|
Bonjour à tous
Bonjour Petronie, Gruick Si je peux me permettre, essaie cela : Soit : en VBA : NArch.value= Round(NArc/100;0) ou ou tout simplement (sans vérif) : NArch.value= Round((ActiveCell.Offset(0, -6).Value + 1)/100,0) en fonction : Arrondi.sup (A1/100,0) ou arrondi.inf tout dépend ce que tu veux obtenir. Dans ton cas, si j'ai bien compris il faudrait prendre arrondi.sup A+ |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Accro
Date d'inscription: décembre 2005
Localisation: la Brie
Messages: 1 064
|
Bonjour à tous,
Surpris au réveil par un message... Pétronie, je te joints ce petit fichier et sa macro d'une ligne, pour prouver que mon idée est bonne. A plus, Gruick |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2005
Localisation: Bouillon (Belgique)
Messages: 134
|
Merci Eric 45,
mais c'est pas encore tout à fait ça parce que là, tu te réfère au n° d'archive (NArch) hors moi, c'est avec le n° de bac que j'ai un soucis. Et je me base sur la cellule "J5" et pas sur le n° d'Archive. Gruik, je vais regarder ton petit fichier et je te redis quoi. Merci à vous deux.
__________________
Pétronie. "Qui se lève tard ne voit pas le lézard se brosser les dents." |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: novembre 2006
Localisation: Saint etienne
Messages: 4 327
|
salut à tous
une petite fonction excel dans une tite case masquée =nb.si(plage_bac;valeur)+1 te donnera le prochain n° dans le bac salutations
__________________
salutations Wilfried Plus j'apprends, plus je sais....... plus je sais que je ne sais rien. Venez visiter mon zoo : Cliquez ici il est si petit, un petit click quotidien merci Machine "à sous", 5 parties gratuites et des enchères |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2005
Localisation: Bouillon (Belgique)
Messages: 134
|
Bon alors,
Gruik, je viens de faire des essais avec ton fichier. Comprends pas, avant, ça ne fonctionnait pas du tout et maintenant, en l'adaptant un rien j'y suis presque. Seulement il y a encore quelque chose que je ne comprends pas, par exemple quand je mets le n° d'archivage 701, il met encore dans le bac 7 alors que ça devrait déjà être dans le bac 8 mais bon, c'est pas très grave, à partir de 702, ça fonctionne correctement. Encore merci à vous.
__________________
Pétronie. "Qui se lève tard ne voit pas le lézard se brosser les dents." |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2005
Localisation: Bouillon (Belgique)
Messages: 134
|
Oups, désolée Wilfried_42, je viens seulement de voir ton message.
C'est gentil mais il y a une donnée que tu oubli, c'est que le n° de Bac et d'Archivage, c'est dans l'USF que je voudrais les voir apparraître d'abord et ensuite (et là, ça va), ils s'inscrivent automatiquement dans mes cellules.
__________________
Pétronie. "Qui se lève tard ne voit pas le lézard se brosser les dents." |
|
|
|
|
|
#10 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2006
Localisation: RYES
Messages: 33
|
Bonsoir Petronie et le forum
En plus des réponses qui t'ont été faites je te joins un petit fichier qui pourra peut-être t'aider. Il s'agit d'un petit bout de code utilisant la procédure SELECT CASE Si celà peut te servir tant mieux. Bien cordialement Jacques |
|
|
|
|
|
#12 (permalink) |
|
XLDnaute Accro
Date d'inscription: décembre 2005
Localisation: la Brie
Messages: 1 064
|
Bonjour Petronie, et à tous les intervenants.
PASSE TON BAC D'ABORD aurait dit mon Papa ( Je rigole ! )Tu as 701, en rajoutant 99, tu obtiens 800, tu divises par 100 tu as 8. Tu as 700, en rajoutant 99, tu obtiens 799, tu divises par 100 tu as 7.99, tu vires la mantisse, tu as 7. Etonnant, non ! Ce n'est plus de l'Excel, c'est du calcul. Tu as dû faire une erreur en recopiant, ou en adaptant. Tiens, je ne trouve pas la fonction ArcCosinus dans le VBA, alors qu'elle existe dans les fonction d'Excel. C'est bien embêtant, pour le calcul orthodromique. A plus, Gruick |
|
|
|
|
|
#13 (permalink) |
|
XLDnaute MEGA Barbatruc
Date d'inscription: février 2005
Localisation: Sortie ouest Le mans 6 km
Messages: 13 218
|
Bonjour à tous,
Pour Gruick : arccos, non ! Bon week Jean-Pierre
__________________
En toutes circonstances, il faut savoir juger jusqu'où on peut aller trop loin. Si vous êtes satisfait des réponses qui vous sont données. Si vous souhaitez que cette énorme base de connaissance Excel puisse vous accompagner longtemps encore.... Aidez-la. C'est ici : http://www.excel-downloads.com/forum...orter-xld.html |
|
|
|
|
|
#14 (permalink) |
|
XLDnaute Accro
Date d'inscription: décembre 2005
Localisation: la Brie
Messages: 1 064
|
Hi, JP
Pas grave, je mettrai Application.WorksheetFunction.Acos(Gruick) C'est pas un petit problème qui va m'arrêter... mais on peut détourner en calculant par Atn ArcCosinusGruick=Atn(-Gruick/sqr(-Gruick*Gruick+1))+2*Atn(1) C'est tout con, tu vois. A plus, bon Gruick-end toi aussi |
|
|
|
|
|
#15 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2006
Localisation: Ile de France sud
Messages: 365
|
Bonsoir à tous
Je reviens avec un peu de retard Pour Petronie : OK je me suis trompé, il fallait lire à la place de : en VBA NArch.value= Round(NArc/100;0) => en VBA : NBac.value= Round(NArch/100;0) et en fonction : Arrondi.sup (A1/100,0) => en fonction : dans la cellule A1 (par exemple) =Arrondi.sup (J5/100,0) Je pense que cela répond à ta question Pour JACRAV : pour ma part quand je me sers de Select Case, je commence par la plus grande valeur et je décrois : Case NArch > "1000" NBac.Value = "10" Case NArch > "900" NBac.Value = "9" .... mais dans le cas présent ne connaissant pas la valeur la plus haute, c'est différent A+ Bon WE à tous |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| numerotation automatique | gatti | Forum Excel | 4 | 20/09/2006 15h07 |
| numérotation automatique | FTHEM | Forum Excel | 5 | 15/03/2006 20h19 |
| numerotation automatique | tahitien | Forum Excel | 18 | 14/05/2005 15h35 |
| numérotation automatique | Nathalie | Forum Excel | 8 | 11/03/2005 17h12 |
| Numérotation automatique | tomx | Forum Excel Downloads - Archives | 3 | 30/11/2004 11h47 |