Rechercher les chiffres manquants dans plusieurs séries linéaires

  • Initiateur de la discussion Initiateur de la discussion 13GIBE59
  • 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 !

13GIBE59

XLDnaute Accro
Bonjour le forum. 🙂

Dans le fichier joint, j'ai une double série linéaire de chiffres de A1 à A23. Il y manque les chiffres figurant en colonnes D et E.
Comment les faire apparaître dans une msgbox ? 😕

Mes tentatives ont échoué...😡

Merci d'avance. 😀
 

Pièces jointes

Re : Rechercher les chiffres manquants dans plusieurs séries linéaires

Bonjour Jean-Bernard 🙂,
Mes tentatives ont échoué...😡
Ça m'étonne de toi, en principe, tu donnes plutôt des solutions 😉...
Peux-tu préciser quelques petites choses essentielles :
1) Les couleurs sont pour mettre en exergue le problème, ou existent-elles dans ton fichier ?
2) Les données sont-elles triées, peuvent-elles être triées ?
3) En début de macro, peut-on demander à l'utilisateur la première valeur de chaque série ? Ou tout au moins les 2 chiffres de gauche définissant les 2 séries ?
A + 😎
 
Re : Rechercher les chiffres manquants dans plusieurs séries linéaires

Bonjour,

Code:
Sub Mcomplément365()
  Set mondico = CreateObject("Scripting.Dictionary")
  Set champ = Range("A2:A30")
  serie = "365"
  For Each c In champ
   If Left(c, 3) = serie Then mondico(c) = c
  Next c
  For i = Application.Min(mondico.items) To Application.Max(mondico.items)
    If IsError(Application.Match(i, mondico.items, 0)) Then MsgBox i
  Next i
End Sub

JB
 

Pièces jointes

Re : Rechercher les chiffres manquants dans plusieurs séries linéaires

Bonjour JNP. 😀

Ça m'étonne de toi, en principe, tu donnes plutôt des solutions
Tu es trop bon...

Les couleurs sont pour mettre en exergue le problème, ou existent-elles dans ton fichier ?
Les couleurs sont pour mettre en exergue mon problème.

Les données sont-elles triées, peuvent-elles être triées ?
Les données ne peuvent pas être triées !

En début de macro, peut-on demander à l'utilisateur la première valeur de chaque série ? Ou tout au moins les 2 chiffres de gauche définissant les 2 séries ?
Désolé, non aux deux questions...

Ca se complique vraiment, mais merci d'avance de t'être penché sur mon problème... 🙂

Oup ! Pas rafraîchi. Bonjour Boisgontier. Je regarde et je reviens.
 
Re : Rechercher les chiffres manquants dans plusieurs séries linéaires

Bonjour jean-Bernard
Voici une macro
Je recoipie que les valeurs car il y a des formules dans ton tableau et je trie
Ensuite je boucle..
Bruno
Code:
Sub Macro1()
    Range("A1:A" & [A65000].End(3).Row).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A1:A" & [A65000].End(3).Row) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("A1:A" & [A65000].End(3).Row)
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    code = [A1]
For k = 2 To [A65000].End(3).Row
If code + 10 < Cells(k, 1) Then GoTo saute
If code + 1 < Cells(k, 1) Then
tx = tx & Chr(10) & code + 1
End If
saute:
code = Cells(k, 1)
Next
MsgBox tx
End Sub
 
Re : Rechercher les chiffres manquants dans plusieurs séries linéaires

Super classe, ton truc, Boisgontier, comme d'habitude !

Cela dit, peut-on améliorer ton code pour l'adapter à n'importe quelle série ?

Je m'explique : si j'attaque dans la colonne A une nouvelle série commençant par exemple par 754..., je devrai modifier le code.

Peut-on éviter cela ?

Sinon, c'est déjà bien, ton code...

Merci.

Edit : bonjour Youki.
 
Re : Rechercher les chiffres manquants dans plusieurs séries linéaires

Le no de série est représenté par le libellé du bouton .

Code:
Sub Mcomplément()
  serie = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
  Set mondico = CreateObject("Scripting.Dictionary")
  Set champ = Range("A2:A1000")
  For Each c In champ
   If Left(c, 3) = serie Then mondico(c) = c
  Next c
  For i = Application.Min(mondico.items) To Application.Max(mondico.items)
    If IsError(Application.Match(i, mondico.items, 0)) Then MsgBox i
  Next i
End Sub
 

Pièces jointes

Dernière édition:
Re : Rechercher les chiffres manquants dans plusieurs séries linéaires

bonjour Jean-Bernard

En acceptant de mettre en H1 le debut de la serie orange et en supposant que l'autre serie ne depasse pas cette valeur

Oups! A la bourre moi !!
Et plutot a coté de la plaque
 

Pièces jointes

Dernière édition:
Re : Rechercher les chiffres manquants dans plusieurs séries linéaires

re,
Désolé pour le bug l'enregistreur de macro 2007 pour trier ne va pas pour 2003
Par contre de 2003 a 2007 c'est bon alors j'ai repris la bonne vieille formule utilisée pour 2003.
Attention je suis obligé de trier, je le fait en col Z soit la 26, j'efface cette col en fin de macro.
Les codes peuvent être variés, je saute si écart >10.
Bruno
Code:
Sub Manquant()
'je copie et efface en col Z ou 26
lig = [A65000].End(3).Row
Range("Z1:Z" & lig).Value = Range("A1:A" & lig).Value
Range("Z1:Z" & lig).Sort Key1:=Range("Z1"), Order1:=xlAscending, Header:=xlNo
    code = [Z1]
For k = 2 To lig
If code + 10 < Cells(k, 26) Then GoTo saute
If code + 1 < Cells(k, 26) Then
tx = tx & Chr(10) & code + 1
End If
saute:
code = Cells(k, 26)
Next
MsgBox tx
Columns(26).Clear
End Sub
 
Re : Rechercher les chiffres manquants dans plusieurs séries linéaires

re,
Ma précédente macro ne pouvait pas voir si il manquait plusieurs codes de suite.
J'ai rectifié le tir avec ce fichier (c'est juste pour le fun et par plaisir)
Bruno
 

Pièces jointes

- 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

Discussions similaires

D
Réponses
4
Affichages
1 K
V
Réponses
5
Affichages
1 K
Vince78740
V
R
Réponses
3
Affichages
4 K
R
J
Réponses
0
Affichages
889
julesrugby38
J
D
Réponses
20
Affichages
10 K
C
Réponses
5
Affichages
2 K
cecev76
C
I
Réponses
16
Affichages
9 K
ironmano
I
Retour