coder deux éléments

asper

XLDnaute Nouveau
:p
Bonjour,

Y-a-t-il une macro ou une fonction pour coder deux éléments en un numéro unique et surtout la possibilité de recréer les deux éléments depuis le numéro unique.


je n'ai rien trouvé ....

Si vous avez une idée je suis preneur.

A+:cool:
 

CBernardT

XLDnaute Barbatruc
Re : coder deux éléments

Bonjour à tous,

pour réunir cela peut-être ce type de syntaxe :

Sub Réunir()
With Sheets("DONNEES")
.Range("A3").NumberFormat = "@" ' Format texte
.Range("A3") = .Range("F3") & " - " & .Range("L3") ' Réunion de deux valeurs
End With
End Sub

Pour séparer les valeurs :

Sub SéparerValeurs()
Dim X As Byte
With Sheets("DONNEES")
' Position du caractère de séparation depuis le départ
X = InStr(1, .Range("A3"), "-")
' Valeur de gauche
.Range("F3") = Left(.Range("A3"), X - 1)
' Valeur de droite
.Range("L3") = Right(.Range("A3"), X - 1)
End With
End Sub

Cordialement

Bernard
 

asper

XLDnaute Nouveau
Re : coder deux éléments

Bonjour,
merci pour vos réponses. Je vais essayer d'être plus clair.

En cellule A1 j'ai un chiffre exp: 12345
En cellule A2 j'ai une date par exp:aujourdhui()

j'aimerais que la cellule a3 me donne un code unique en fonction des cellules A1 et A2. Ce code devant être style 45678942.

et de plus en partant du code unique en A3 que je puisse retrouver les valeurs A1 et A2.

La solution proposée par CBernardT ne fait "que concaténer deux valeurs" ce qui ne me satisfait pas car ce code unique sera utilisé comme un contrôle d'utilisation du fichier excel.

Peut-être que cela n'est tout simplement pas possible.....

Merci pour vos efforts ;)
 

ledzepfred

XLDnaute Impliqué
Re : coder deux éléments

bonsoir asper,

essayes ceci
Code:
Range("A3").FormulaR1C1 = Right(Range("A1").Value,2) & Format(Range("A2").Value, "0")

Ce code prend les deux derniers caractères de A1 et convertit la date en A2 en nombre. La concaténation des deux donne une valeur en A3 de même type que souhaité.

Pour déduire de ton code unique les valeurs de A1 et A2, il faut impérativement conserver la table créée et utiliser les fonctions index et equiv

exemple en feuille 2 :
A1 mon code unique
A2=INDEX(Feuil1!1:1;EQUIV(A1;Feuil1!3:3;0))
A3=INDEX(Feuil1!2:2;EQUIV(A1;Feuil1!3:3;0))

Voir fichier joint pour exemple

a+
 

Pièces jointes

  • Classeur1.xls
    20.5 KB · Affichages: 45
  • Classeur1.xls
    20.5 KB · Affichages: 59
  • Classeur1.xls
    20.5 KB · Affichages: 57

Discussions similaires

Réponses
26
Affichages
378

Statistiques des forums

Discussions
312 203
Messages
2 086 191
Membres
103 152
dernier inscrit
Karibu