Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

n'appartient pas à une liste

  • Initiateur de la discussion Initiateur de la discussion f69815
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

f69815

XLDnaute Occasionnel
bonjour et bonsoir,

peut-être que la question est deja posée mais j'ai du mal à exprimer la recherche.

j'ai deux feuilles, une avec des trigrammes de 000 à zzz, l'autre feuille contient des trigrammes deja utilisés avec des quadrigrammes associés (ex : 000 et 0000, 0001,.....000z).

je veux connaître le premier trigramme non utilisé, sachant qu'ils ne sont pas utilisés par ordre croissant dans ceux utilisés, c'est l'anarchie.

merci
 
Re : n'appartient pas à une liste

Bonsoir,

Pourrais-tu joindre un fichier avec quelques exemples de ce que tu as et en indiquant ce que tu veux obtenir.

Précise également (pour moi tout au moins), ce qu'est un trigramme ou un quadrigramme ?

A te (re)lire avec un bout de fichier

@+
 
Re : n'appartient pas à une liste


merci de ton intérêt,

un trigramme c'est trois lettres ( aaa, aab,aac, etc ou trois chiffres 123, 124, 125, etc)
je te laisse deviner pour le quadrigramme ?

pour le fichier je vais le faire, mais il faut que je le travaille car il a plus de 40000 lignes.

à bientôt
 
Re : n'appartient pas à une liste

bonsoir,

voici le fichier, très court.

une feuille : utilisé, et une autre utilisable

dans la feuille "utilisable" ,il y a normalement, toute les combinaisons possibles, combinant les lettres a à z et les chiffres 0 à 9 (46657 combinaisons).

dans la feuille utilisée il y a les trigrammes deja utilisés, ainsi que les quad associés plus d'autres infos concernant les codes SIREN et NIC des entreprises.

je voudrai afficher le premier trigramme de la feuille "utilisable" qui n'est pas encore utilisé dans la feuille "utilise", afin de pouvoir lui attribuer un code SIREN et NIC.

suis-je clair, car à cet heure ci, pour moi, c'est extinction des feux.

bonne nuit
 

Pièces jointes

Re : n'appartient pas à une liste

Bonsoir,
Voici une macro sélectionnant le 1er trigramme non utilisé.
En espérant que cela vous convient.
Code:
Sub Trigram()
Dim absent As Boolean
Sheets("utilisable").Activate
Range("B1").Select
For Each cel1 In Range("A1", Range("A65536").End(xlUp))
absent = True
For Each cel2 In Sheets("utilise").Range("A2", Sheets("utilise").Range("A65536").End(xlUp))
If Left(cel2, 3) = cel1 Then absent = False: Exit For
Next
If absent Then cel1.Select: Exit Sub
Next
End Sub
A+
 
Dernière édition:
Re : n'appartient pas à une liste

Re
Le temps de calcul de la précédente macro risque d'être très long.
Essayez cette version :
Code:
Sub Trigram()
Dim R As Range
Sheets("utilisable").Activate
Range("B1").Select
Set R = Sheets("utilise").Range("A1", Sheets("utilise").Range("A65536").End(xlUp))
For Each cel In Range("A1", Range("A65536").End(xlUp))
If IsError(Application.Match(cel, R, 0)) Then cel.Select: Exit Sub
Next
End Sub
A+
 
Re : n'appartient pas à une liste

bonjour,
merci jha pour ta proposition, j'avais pensé à cette idée, mais je cherche plutôt du code. surtout que le nombre de ligne de la feuille "utilise", augmente à chaque création à minima de deux lignes.

merci job75, ta solution me convient et rapide, le 2ème code, au vu du nombre de lignes (> à 40000) dans les deux feuilles.

merci à vous deux
 
Re : n'appartient pas à une liste

bonjour,

Avec retard voici une macro

Dim tab1
Set tab1 = CreateObject("Scripting.Dictionary")

ligne = 1
While Sheets("utilisable").Cells(ligne, 1) <> ""
cle = Sheets("utilisable").Cells(ligne, 1)
tab1(cle) = 0
ligne = ligne + 1
Wend

ligne = 2
While Sheets("utilise").Cells(ligne, 1) <> ""
cle = Sheets("utilise").Cells(ligne, 1)
If IsEmpty(tab1(cle)) = False Then tab1(cle) = 1
ligne = ligne + 1
Wend

For Each tmp In tab1
cle = tmp
If tab1(cle) = 0 Then
Exit For
End If
Next
MsgBox "Trigramme non utilisé : " & cle
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…