Excel - problème de mode texte et nombre

Bibliothèque Kandinsky -  
 LexMarc -
Bonjour,

Je fais appel à vos logiques lumineuses pour nous aider à trouver une chose toute simple qui nous simplifierait vraiment le travail et la vie !

Je vous explique le problème :

Nous référençons des négatifs photos qui partiront prochainement à la numérisation sur un fichier excel comme ceci :

M505084_3505DUCAbP00101
M505084_3505DUCAbP00102
M505084_3505DUCAbP00103
M505084_3505DUCAbP00104
M505084_3505DUCAbP00201
M505084_3505DUCAbP00202
M505084_3505DUCAbP00203
M505084_3505DUCAbP00204
M505084_3505DUCAbP00301
M505084_3505DUCAbP00302
M505084_3505DUCAbP00303
M505084_3505DUCAbP00304
M505084_3505DUCAbP00401
M505084_3505DUCAbP00402
M505084_3505DUCAbP00403
M505084_3505DUCAbP00404
M505084_3505DUCAbP00501
M505084_3505DUCAbP00502
M505084_3505DUCAbP00503
M505084_3505DUCAbP00504
...
M505084_3505DUCAbP01001
M505084_3505DUCAbP01002
...
M505084_3505DUCAbP10001

Comme vous le voyez nous ne dépassons et ne dépasserons jamais 4. Nous nous demandions donc s'il existait une formule, une fonction, marco ect qui compterait directement en base 4.
Chaque référence finit par P00000
le cinquième zéro est donc toujours 1 2 3 ou 4
le quatrième zéro est toujours 0
les trois premiers chiffres devraient rester en base 10 car ils sont dans l'ordre croissant comme suit : 001 002 003 004 005 006... 010 011 012 ... 020 ...100...101...

Sinon rien ne change !

Pouvez vous nous aider svp ?

Bon courage.

L'équipe de la photothèque de la BK.
Configuration: Windows XP
Internet Explorer 7.0

1 réponse

  1. LexMarc
     
    Bonjour

    Un essai avec une macro a placer dans un bouton
    En A1 Titre NOM en B1 Titre Index
    En A2 le premier Nom
    En A3 le 2ème NOm ...
    Lancer la macro

    Sub Indexer()

    Application.ScreenUpdating = False
    Range("B2").Select
    ActiveCell.FormulaR1C1 = _
    "=""M505084_3505DUCAbP0""&IF(CEILING(COUNTA(R2C1:RC[-1])/4,1)<10,""0""&CEILING(COUNTA(R2C1:RC[-1])/4,1),CEILING(COUNTA(R2C1:RC[-1])/4,1))&""01"""
    Range("B3").Select
    ActiveCell.FormulaR1C1 = _
    "=IF(RC[-1]="""","""",""M505084_3505DUCAbP0""&IF(CEILING(COUNTA(R2C1:RC[-1])/4,1)<10,""0""&CEILING(COUNTA(R2C1:RC[-1])/4,1),CEILING(COUNTA(R2C1:RC[-1])/4,1))&IF(RIGHT(R[-1]C,2)*1<4,""0""&RIGHT(R[-1]C,2)+1,""01""))"
    Range("B3").Select
    Selection.AutoFill Destination:=Range("B3:B1000")
    ' cette plage B3:B1000 peut être "allongée"... B3000 par exemple
    Columns("B:B").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A1").Select
    Application.ScreenUpdating = True
    End Sub

    En espérant que cette solution "à la louche" puisse vous dépanner
    Bien cordialement

    LM
    0
    1. cbauf Messages postés 5337 Date d'inscription   Statut Contributeur Dernière intervention   803
       
      Bonjour LexMarc,

      Post un nouveux topic
      sur celui ci qui n'avait aucune réponse
      tu "pollues" ;)

      et il ne sera pas vu !

      De plus il devrait, il me semble se trouver dans le "salon" Programmation

      voir la http://www.commentcamarche.net/ccmguide/ccmcharte ecriture.php3
      0
      1. LexMarc > cbauf Messages postés 5337 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonjour Cbauf
        Je suis désolé de ne pas bien comprendre ton intervention.
        Une personne demande de l'aide et je lui en propose une de façon à résoudre (en partie) ses problèmes.

        Où se situe la pollution ?

        Le fait de répondre à une question restée sans réponse est considéré comme polluant ?
        L'utilisation d'Excel me semble être bien de le Bureautique
        et le code proposé n'est pas du VBA bien épuré (à la louche)
        donc le terme de programmation me semble un peu surfait.
        J'avoue ne pas bien comprendre cette intervention...
        Bonne journée cependant
        Bien cordialement
        LM
        0
      2. cbauf Messages postés 5337 Date d'inscription   Statut Contributeur Dernière intervention   803 > LexMarc
         
        Houps
        .........Faut qu' j'aille couché !

        -1 pour moi
        Désoler mon message n'est pas a prendre en compte
        ;(

        Me suis trompé de fen^etre, un vieux sims qui remontait dans ma liste intervention
        et j'ai fait le copier coller sur ta réponse
        0
      3. LexMarc > cbauf Messages postés 5337 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonne nuit
        0