Générer des codes sur Excel - VB/VBA/VBS - Programmation
Marsh Posté le 12-05-2013 à 13:55:09
J'ai trouvé cette macro là sur ce forum même mais elle ne correspond pas vraiment à ce que je veux...
Sub AjoutCode()
Dim strCode As String, I As Integer, L As Long, J As Long, N As Integer
L = 1
While Range("A" & L).Value <> ""
strCode = Left(Range("A" & L).Value, 1)
I = 1
Do While I > 0
I = InStr(I + 1, Range("A" & L).Value, " " )
If I > 0 Then
strCode = strCode & Left(Mid(Range("A" & L).Value, I + 1), 1)
End If
Loop
strCode = strCode & Left(Range("B" & L).Value, 1)
I = 1
Do While I > 0
I = InStr(I + 1, Range("B" & L).Value, " " )
If I > 0 Then
strCode = strCode & Left(Mid(Range("B" & L).Value, I + 1), 1)
End If
Loop
J = 1
N = 0
strCode = UCase(strCode)
While Range("C" & J).Value <> ""
If J <> L Then
If Left(Range("C" & J).Value, Len(Range("C" & J).Value) - 2) = strCode Then
If CInt(Right(Range("C" & J).Value, 2)) > N Then N = CInt(Right(Range("C" & J).Value, 2))
End If
End If
J = J + 1
Wend
N = N + 1
If Range("C" & L).Value = "" Then
If N < 10 Then
Range("C" & L).Value = strCode & "0" & N
Else
Range("C" & L).Value = strCode & N
End If
End If
L = L + 1
Wend
End Sub
Je voudrais pas reprendre les Initiales de chaque colonne mais un nombre ou une lettre spécifique.
De plus comment étendre cette macro si on veut mettre en place un code disons pour 4, 5 colonnes etc...
Ah oui et aussi comment la modifier pour que pour chaque ligne s'affiche en bout de code le chiffre 001 pour la cellule A2 disons, puis 002 pour la cellule A3 et ainsi de suite pour toutes les lignes...car dans le programme ci-dessus, la personne vous dire que si, pour un couple donné, les initiales étaient les mêmes, alors il mettait en fin de code le chiffre 02 pour les différencier mais je ne veux pas de cela.
merci beaucoup de votre aide !
Marsh Posté le 12-05-2013 à 13:56:31
Voici d'aileurs le détail de son post:
salut à tous,
dans mon classeur excel, je voulais generer un code qui se place en colonne C par rapport au mot inscrit en colonne A et B sur la meme ligne.
Je m'explique :
A3 = drosera
B3 = capensis alba
C3 = DCA01 (le fameux code)
En gros le code generer prend la premiere lettre de chaque mot plus la valeur 01, si DCA01 existe alors il pass a DCA02, etc...
On m'a gentillement fait la macro, mais je n'arrive pas a l'adapter pour que le processus commence a partir de A3, car la si il n'y a rien en ligne 1 ça ne marche pas.
voila !
Marsh Posté le 12-05-2013 à 15:14:49
Bonjour.
macrosoucis a écrit : On m'a gentillement fait la macro […] |
Il aurait fallu commencer par là, en publiant son code et en indiquant de claires explications …
Marsh Posté le 12-05-2013 à 16:34:58
Bonjour,
Celle-ci est bien postée au post 1 par moi-même. Elle fonctionne en tout cas (j'ai copié et collé et lancé)mais j'y comprends pas grand chose à ce qu'il y a d'écrit...
Marsh Posté le 12-05-2013 à 13:45:53
Bonjour à tous,
Je galère pas mal à faire une macro assez simple en soit je pense mais n'ayant pas de base la dedans c'est vraiment désespérant...
Je demande donc si une personne aurait la gentillesse de me consacrer un peu de son temps pour me faire une macro sur Excel ! Les manœuvres à faire sont basiques certainement mais je ne les maîtrises pas bien ou pas du tout plutôt.
Donc en faite il me faudrait une macro générant des codes. En gros imaginons que l'on prenne 2 colonnes où on listes des mots ou autres. A chaque élément de ma colonne je vais lui associer un code spécifique ( idem pour la 2ème colonne).
A partir de cela , je voudrais générer pour un couple ( imaginons les cellules B3 et C3), un code dans la cellule A3 !
Voilà je sais pas si vous avez compris mais je vous met un exemple:
Imaginons que ma cellule B2 comporte le mot "bière" ( le code associé à bière est le chiffre 1) et ma cellule C2 comporte le mot "ananas" ( le code associé à ananas est la lettre A). Le code généré dans la cellule A2 doit donc être 1A et ainsi de suite...
Ca serait génial si quelqu'un pouvais m'aider assez rapidement voir même me donner des pistes
Mon email personnel: jeupppp@live.fr
Merci de votre aide !