Bonjour
J'ai en colonne A et B des intervalles de nombres sous cette forme
A B
1 2
4 7
20 26
28=09
29 30
34 36
37 50
58 65
70 84
etc...
(parfois rien en B)
Je souhaite avoir en C ou C, D, E, etc les chiffres
1, 2
4, 5, 6, 7
20, 21, 22, 23, 24, 25, 26
etc
correspondant aux intervalles
(virgule ou autre comme s=E9parateur peu importe)
Comment ensuite remettre ces chiffres en colonne unique afin d'en v=E9rifie=
r la pr=E9sence sans rupture vu que les s=E9quences de chiffres sont =E9par=
pill=E9s dans le tableau ?
Merci d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LSteph
Bonjour,
Si (si j'ai bien compris) le but est pour finir de répartir ces chiffres dans les colonnes voisines:
en C1:Cn
en D1:Dn =SI(C1="";"";SI(C1+1>$B1;"";C1+1)) à recopier vers droite sur autant de colonnes que besoin.
Cordialement.
-- LSteph
Le mercredi 6 avril 2016 16:07:44 UTC+2, jip a écrit :
Bonjour J'ai en colonne A et B des intervalles de nombres sous cette forme A B 1 2 4 7 20 26 28 29 30 34 36 37 50 58 65 70 84 etc... (parfois rien en B)
Je souhaite avoir en C ou C, D, E, etc les chiffres 1, 2 4, 5, 6, 7 20, 21, 22, 23, 24, 25, 26 etc correspondant aux intervalles
(virgule ou autre comme séparateur peu importe)
Comment ensuite remettre ces chiffres en colonne unique afin d'en vérif ier la présence sans rupture vu que les séquences de chiffres sont ép arpillés dans le tableau ? Merci d'avance.
Bonjour,
Si (si j'ai bien compris) le but est pour finir de répartir ces chiffres dans les colonnes voisines:
en C1:Cn =A1
en D1:Dn =SI(C1="";"";SI(C1+1>$B1;"";C1+1))
à recopier vers droite sur autant de colonnes que besoin.
Cordialement.
--
LSteph
Le mercredi 6 avril 2016 16:07:44 UTC+2, jip a écrit :
Bonjour
J'ai en colonne A et B des intervalles de nombres sous cette forme
A B
1 2
4 7
20 26
28
29 30
34 36
37 50
58 65
70 84
etc...
(parfois rien en B)
Je souhaite avoir en C ou C, D, E, etc les chiffres
1, 2
4, 5, 6, 7
20, 21, 22, 23, 24, 25, 26
etc
correspondant aux intervalles
(virgule ou autre comme séparateur peu importe)
Comment ensuite remettre ces chiffres en colonne unique afin d'en vérif ier la présence sans rupture vu que les séquences de chiffres sont ép arpillés dans le tableau ?
Merci d'avance.
Si (si j'ai bien compris) le but est pour finir de répartir ces chiffres dans les colonnes voisines:
en C1:Cn
en D1:Dn =SI(C1="";"";SI(C1+1>$B1;"";C1+1)) à recopier vers droite sur autant de colonnes que besoin.
Cordialement.
-- LSteph
Le mercredi 6 avril 2016 16:07:44 UTC+2, jip a écrit :
Bonjour J'ai en colonne A et B des intervalles de nombres sous cette forme A B 1 2 4 7 20 26 28 29 30 34 36 37 50 58 65 70 84 etc... (parfois rien en B)
Je souhaite avoir en C ou C, D, E, etc les chiffres 1, 2 4, 5, 6, 7 20, 21, 22, 23, 24, 25, 26 etc correspondant aux intervalles
(virgule ou autre comme séparateur peu importe)
Comment ensuite remettre ces chiffres en colonne unique afin d'en vérif ier la présence sans rupture vu que les séquences de chiffres sont ép arpillés dans le tableau ? Merci d'avance.
HB
Bonsoir,
Il faudrait quelques précisions sur le résultat souhaité.
Tu veux
a) des listes éventuellement réduites à une valeur (cas de 28 dans ton exemple) dans la colonne C (valeurs séparées par " ; " )
ou bien
b) les valeurs réparties dans autant de colonnes que nécessaire ?
ou bien
c) Mettre dans la colonne C toutes les valeurs rangées l'ordre. La longueur de cette dernière sera donc "variable" ;o)
Une fois le but visé clarifié on pourra obtenir le résultat sans étape intermédiaire.
Pour b) la méthode proposée par LSteph fonctionnera très bien.
dans les cas a) et c) une petite macro peut faire ça rapidement Le a) est simple et le b) très simple ;o)
Le c) peut-être complété par des données en colonnes D listant les éventuelles valeurs manquantes .... En lisant le message, il m'a semblé que le véritable but était là ...
Il y a tout de même une autre question :
Les données initiales seront-elles pré-rangées (comme dans l'exemple fourni) ou bien faudra-il aussi vérifier l'ordre final.
cordialement,
HB
Le 06/04/2016 17:31, LSteph a écrit :
Bonjour,
Si (si j'ai bien compris) le but est pour finir de répartir ces chiffres dans les colonnes voisines:
en C1:Cn ¡
en D1:Dn =SI(C1="";"";SI(C1+1>$B1;"";C1+1)) à recopier vers droite sur autant de colonnes que besoin.
Cordialement.
-- LSteph
Le mercredi 6 avril 2016 16:07:44 UTC+2, jip a écrit :
Bonjour J'ai en colonne A et B des intervalles de nombres sous cette forme A B 1 2 4 7 20 26 28 29 30 34 36 37 50 58 65 70 84 etc... (parfois rien en B)
Je souhaite avoir en C ou C, D, E, etc les chiffres 1, 2 4, 5, 6, 7 20, 21, 22, 23, 24, 25, 26 etc correspondant aux intervalles
(virgule ou autre comme séparateur peu importe)
Comment ensuite remettre ces chiffres en colonne unique afin d'en vérifier la présence sans rupture vu que les séquences de chiffres sont éparpillés dans le tableau ? Merci d'avance.
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Bonsoir,
Il faudrait quelques précisions sur le résultat souhaité.
Tu veux
a) des listes
éventuellement réduites à une valeur (cas de 28 dans ton exemple)
dans la colonne C (valeurs séparées par " ; " )
ou bien
b) les valeurs réparties dans autant de colonnes que nécessaire ?
ou bien
c) Mettre dans la colonne C
toutes les valeurs rangées l'ordre.
La longueur de cette dernière sera donc "variable" ;o)
Une fois le but visé clarifié on pourra
obtenir le résultat sans étape intermédiaire.
Pour b) la méthode proposée par LSteph
fonctionnera très bien.
dans les cas a) et c) une petite macro peut faire ça rapidement
Le a) est simple et le b) très simple ;o)
Le c) peut-être complété par des données en colonnes D
listant les éventuelles valeurs manquantes ....
En lisant le message, il m'a semblé
que le véritable but était là ...
Il y a tout de même une autre question :
Les données initiales seront-elles pré-rangées
(comme dans l'exemple fourni)
ou bien faudra-il aussi vérifier l'ordre final.
cordialement,
HB
Le 06/04/2016 17:31, LSteph a écrit :
Bonjour,
Si (si j'ai bien compris) le but est pour finir de répartir ces chiffres dans les colonnes voisines:
en C1:Cn ¡
en D1:Dn =SI(C1="";"";SI(C1+1>$B1;"";C1+1))
à recopier vers droite sur autant de colonnes que besoin.
Cordialement.
--
LSteph
Le mercredi 6 avril 2016 16:07:44 UTC+2, jip a écrit :
Bonjour
J'ai en colonne A et B des intervalles de nombres sous cette forme
A B
1 2
4 7
20 26
28
29 30
34 36
37 50
58 65
70 84
etc...
(parfois rien en B)
Je souhaite avoir en C ou C, D, E, etc les chiffres
1, 2
4, 5, 6, 7
20, 21, 22, 23, 24, 25, 26
etc
correspondant aux intervalles
(virgule ou autre comme séparateur peu importe)
Comment ensuite remettre ces chiffres en colonne unique afin d'en vérifier la présence sans rupture vu que les séquences de chiffres sont éparpillés dans le tableau ?
Merci d'avance.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Il faudrait quelques précisions sur le résultat souhaité.
Tu veux
a) des listes éventuellement réduites à une valeur (cas de 28 dans ton exemple) dans la colonne C (valeurs séparées par " ; " )
ou bien
b) les valeurs réparties dans autant de colonnes que nécessaire ?
ou bien
c) Mettre dans la colonne C toutes les valeurs rangées l'ordre. La longueur de cette dernière sera donc "variable" ;o)
Une fois le but visé clarifié on pourra obtenir le résultat sans étape intermédiaire.
Pour b) la méthode proposée par LSteph fonctionnera très bien.
dans les cas a) et c) une petite macro peut faire ça rapidement Le a) est simple et le b) très simple ;o)
Le c) peut-être complété par des données en colonnes D listant les éventuelles valeurs manquantes .... En lisant le message, il m'a semblé que le véritable but était là ...
Il y a tout de même une autre question :
Les données initiales seront-elles pré-rangées (comme dans l'exemple fourni) ou bien faudra-il aussi vérifier l'ordre final.
cordialement,
HB
Le 06/04/2016 17:31, LSteph a écrit :
Bonjour,
Si (si j'ai bien compris) le but est pour finir de répartir ces chiffres dans les colonnes voisines:
en C1:Cn ¡
en D1:Dn =SI(C1="";"";SI(C1+1>$B1;"";C1+1)) à recopier vers droite sur autant de colonnes que besoin.
Cordialement.
-- LSteph
Le mercredi 6 avril 2016 16:07:44 UTC+2, jip a écrit :
Bonjour J'ai en colonne A et B des intervalles de nombres sous cette forme A B 1 2 4 7 20 26 28 29 30 34 36 37 50 58 65 70 84 etc... (parfois rien en B)
Je souhaite avoir en C ou C, D, E, etc les chiffres 1, 2 4, 5, 6, 7 20, 21, 22, 23, 24, 25, 26 etc correspondant aux intervalles
(virgule ou autre comme séparateur peu importe)
Comment ensuite remettre ces chiffres en colonne unique afin d'en vérifier la présence sans rupture vu que les séquences de chiffres sont éparpillés dans le tableau ? Merci d'avance.
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
jipaih
HB a couché sur son écran :
Bonsoir,
Il faudrait quelques précisions sur le résultat souhaité.
Tu veux
a) des listes éventuellement réduites à une valeur (cas de 28 dans ton exemple) dans la colonne C (valeurs séparées par " ; " )
ou bien
b) les valeurs réparties dans autant de colonnes que nécessaire ?
ou bien
c) Mettre dans la colonne C toutes les valeurs rangées l'ordre. La longueur de cette dernière sera donc "variable" ;o)
Une fois le but visé clarifié on pourra obtenir le résultat sans étape intermédiaire.
Pour b) la méthode proposée par LSteph fonctionnera très bien.
dans les cas a) et c) une petite macro peut faire ça rapidement Le a) est simple et le b) très simple ;o)
Le c) peut-être complété par des données en colonnes D listant les éventuelles valeurs manquantes .... En lisant le message, il m'a semblé que le véritable but était là ...
Il y a tout de même une autre question :
Les données initiales seront-elles pré-rangées (comme dans l'exemple fourni) ou bien faudra-il aussi vérifier l'ordre final.
cordialement,
Bonjour Le c) est idéal. Oui le but est de vérifier si tout est présent
HB a couché sur son écran :
Bonsoir,
Il faudrait quelques précisions sur le résultat souhaité.
Tu veux
a) des listes
éventuellement réduites à une valeur (cas de 28 dans ton exemple)
dans la colonne C (valeurs séparées par " ; " )
ou bien
b) les valeurs réparties dans autant de colonnes que nécessaire ?
ou bien
c) Mettre dans la colonne C
toutes les valeurs rangées l'ordre.
La longueur de cette dernière sera donc "variable" ;o)
Une fois le but visé clarifié on pourra
obtenir le résultat sans étape intermédiaire.
Pour b) la méthode proposée par LSteph
fonctionnera très bien.
dans les cas a) et c) une petite macro peut faire ça rapidement
Le a) est simple et le b) très simple ;o)
Le c) peut-être complété par des données en colonnes D
listant les éventuelles valeurs manquantes ....
En lisant le message, il m'a semblé
que le véritable but était là ...
Il y a tout de même une autre question :
Les données initiales seront-elles pré-rangées
(comme dans l'exemple fourni)
ou bien faudra-il aussi vérifier l'ordre final.
cordialement,
Bonjour
Le c) est idéal.
Oui le but est de vérifier si tout est présent
Il faudrait quelques précisions sur le résultat souhaité.
Tu veux
a) des listes éventuellement réduites à une valeur (cas de 28 dans ton exemple) dans la colonne C (valeurs séparées par " ; " )
ou bien
b) les valeurs réparties dans autant de colonnes que nécessaire ?
ou bien
c) Mettre dans la colonne C toutes les valeurs rangées l'ordre. La longueur de cette dernière sera donc "variable" ;o)
Une fois le but visé clarifié on pourra obtenir le résultat sans étape intermédiaire.
Pour b) la méthode proposée par LSteph fonctionnera très bien.
dans les cas a) et c) une petite macro peut faire ça rapidement Le a) est simple et le b) très simple ;o)
Le c) peut-être complété par des données en colonnes D listant les éventuelles valeurs manquantes .... En lisant le message, il m'a semblé que le véritable but était là ...
Il y a tout de même une autre question :
Les données initiales seront-elles pré-rangées (comme dans l'exemple fourni) ou bien faudra-il aussi vérifier l'ordre final.
cordialement,
Bonjour Le c) est idéal. Oui le but est de vérifier si tout est présent
isabelle
bonjour jipaih,
le résultat des chiffres présents et absents sont mits en colonne D et E
Sub Vérifier_Présent_Absent() Dim x As Integer, y As Integer, a As Integer, b As Integer, LastRow As Integer Dim c As Range
LastRow = Cells(Rows.Count, 1).End(xlUp).Row Range("D1") = "Présent" Range("E1") = "Absent" x = 1 y = 1
For Each c In Range("A1:A" & LastRow)
If c.Offset(0, 1) <> 0 Then For a = c To c.Offset(0, 1) x = x + 1 Range("D" & x) = a Next Else x = x + 1 Range("D" & x) = c End If
If c.Offset(0, 1) <> 0 Then For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 y = y + 1 Range("E" & y) = b Next End If
Next End Sub
isabelle
Le 2016-04-09 07:39, jipaih a écrit :
Bonjour Le c) est idéal. Oui le but est de vérifier si tout est présent
bonjour jipaih,
le résultat des chiffres présents et absents sont mits en colonne D et E
Sub Vérifier_Présent_Absent()
Dim x As Integer, y As Integer, a As Integer, b As Integer, LastRow As Integer
Dim c As Range
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("D1") = "Présent"
Range("E1") = "Absent"
x = 1
y = 1
For Each c In Range("A1:A" & LastRow)
If c.Offset(0, 1) <> 0 Then
For a = c To c.Offset(0, 1)
x = x + 1
Range("D" & x) = a
Next
Else
x = x + 1
Range("D" & x) = c
End If
If c.Offset(0, 1) <> 0 Then
For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1
y = y + 1
Range("E" & y) = b
Next
End If
Next
End Sub
isabelle
Le 2016-04-09 07:39, jipaih a écrit :
Bonjour
Le c) est idéal.
Oui le but est de vérifier si tout est présent
le résultat des chiffres présents et absents sont mits en colonne D et E
Sub Vérifier_Présent_Absent() Dim x As Integer, y As Integer, a As Integer, b As Integer, LastRow As Integer Dim c As Range
LastRow = Cells(Rows.Count, 1).End(xlUp).Row Range("D1") = "Présent" Range("E1") = "Absent" x = 1 y = 1
For Each c In Range("A1:A" & LastRow)
If c.Offset(0, 1) <> 0 Then For a = c To c.Offset(0, 1) x = x + 1 Range("D" & x) = a Next Else x = x + 1 Range("D" & x) = c End If
If c.Offset(0, 1) <> 0 Then For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 y = y + 1 Range("E" & y) = b Next End If
Next End Sub
isabelle
Le 2016-04-09 07:39, jipaih a écrit :
Bonjour Le c) est idéal. Oui le but est de vérifier si tout est présent
isabelle
pour gagner un peu de vitesse j'ai utilisé des variables tableaux, aussi, si la quantités de données est très grande, il faudra peut-être déclarer certaine variable As Long.
Sub Vérifier_Présent_Absent() Dim x As Integer, y As Integer, a As Integer, b As Integer, LastRow As Integer Dim c As Range Dim Présent() Dim Absent() ReDim Preserve Présent(0) Présent(0) = "Présent" ReDim Preserve Absent(0) Absent(0) = "Absent"
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For Each c In Range("A1:A" & LastRow)
If c.Offset(0, 1) <> 0 Then For a = c To c.Offset(0, 1) x = x + 1 ReDim Preserve Présent(x) Présent(x) = a Next Else x = x + 1 ReDim Preserve Présent(x) Présent(x) = c End If
If c.Offset(0, 1) <> 0 Then For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 y = y + 1 ReDim Preserve Absent(y) Absent(y) = b Next End If Next Range("D1").Resize(UBound(Présent) + 1) = Application.Transpose(Présent) Range("E1").Resize(UBound(Absent) + 1) = Application.Transpose(Absent) End Sub
isabelle
pour gagner un peu de vitesse j'ai utilisé des variables tableaux,
aussi, si la quantités de données est très grande, il faudra peut-être déclarer
certaine variable As Long.
Sub Vérifier_Présent_Absent()
Dim x As Integer, y As Integer, a As Integer, b As Integer, LastRow As Integer
Dim c As Range
Dim Présent()
Dim Absent()
ReDim Preserve Présent(0)
Présent(0) = "Présent"
ReDim Preserve Absent(0)
Absent(0) = "Absent"
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For Each c In Range("A1:A" & LastRow)
If c.Offset(0, 1) <> 0 Then
For a = c To c.Offset(0, 1)
x = x + 1
ReDim Preserve Présent(x)
Présent(x) = a
Next
Else
x = x + 1
ReDim Preserve Présent(x)
Présent(x) = c
End If
If c.Offset(0, 1) <> 0 Then
For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1
y = y + 1
ReDim Preserve Absent(y)
Absent(y) = b
Next
End If
Next
Range("D1").Resize(UBound(Présent) + 1) = Application.Transpose(Présent)
Range("E1").Resize(UBound(Absent) + 1) = Application.Transpose(Absent)
End Sub
pour gagner un peu de vitesse j'ai utilisé des variables tableaux, aussi, si la quantités de données est très grande, il faudra peut-être déclarer certaine variable As Long.
Sub Vérifier_Présent_Absent() Dim x As Integer, y As Integer, a As Integer, b As Integer, LastRow As Integer Dim c As Range Dim Présent() Dim Absent() ReDim Preserve Présent(0) Présent(0) = "Présent" ReDim Preserve Absent(0) Absent(0) = "Absent"
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For Each c In Range("A1:A" & LastRow)
If c.Offset(0, 1) <> 0 Then For a = c To c.Offset(0, 1) x = x + 1 ReDim Preserve Présent(x) Présent(x) = a Next Else x = x + 1 ReDim Preserve Présent(x) Présent(x) = c End If
If c.Offset(0, 1) <> 0 Then For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 y = y + 1 ReDim Preserve Absent(y) Absent(y) = b Next End If Next Range("D1").Resize(UBound(Présent) + 1) = Application.Transpose(Présent) Range("E1").Resize(UBound(Absent) + 1) = Application.Transpose(Absent) End Sub
isabelle
jip
isabelle
Merci Il y a à chaque fois une erreur "13" sur la ligne For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 Je n'ai pas précisé que les valeurs ne sont pas dans l'ordre.
isabelle
Merci
Il y a à chaque fois une erreur "13" sur la ligne
For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1
Je n'ai pas précisé que les valeurs ne sont pas dans l'ordre.
Merci Il y a à chaque fois une erreur "13" sur la ligne For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 Je n'ai pas précisé que les valeurs ne sont pas dans l'ordre.
jip
Le jeudi 14 avril 2016 09:53:13 UTC+2, jip a écrit :
> > isabelle
Merci Il y a à chaque fois une erreur "13" sur la ligne For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 Je n'ai pas précisé que les valeurs ne sont pas dans l'ordre.
En fait j'ai trouvé, il y avait dans mon tableau quelques valeurs avec de s "bis" ou "/1", une fois supprimées plus d'erreur. Merci
Le jeudi 14 avril 2016 09:53:13 UTC+2, jip a écrit :
>
> isabelle
Merci
Il y a à chaque fois une erreur "13" sur la ligne
For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1
Je n'ai pas précisé que les valeurs ne sont pas dans l'ordre.
En fait j'ai trouvé, il y avait dans mon tableau quelques valeurs avec de s "bis" ou "/1", une fois supprimées plus d'erreur.
Merci
Le jeudi 14 avril 2016 09:53:13 UTC+2, jip a écrit :
> > isabelle
Merci Il y a à chaque fois une erreur "13" sur la ligne For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 Je n'ai pas précisé que les valeurs ne sont pas dans l'ordre.
En fait j'ai trouvé, il y avait dans mon tableau quelques valeurs avec de s "bis" ou "/1", une fois supprimées plus d'erreur. Merci
jip
En fait j'ai trouvé, il y avait dans mon tableau quelques valeurs avec des "bis" ou "/1", une fois supprimées plus d'erreur. Merci
Ben ça marche et ça marche pas, il manque des valeurs dans "Absent". Exemple avec le début, pas de 33 alors qu'il n'est pas dans la liste.
If c.Offset(0, 1) <> 0 Then For a = c To c.Offset(0, 1) x = x + 1 ReDim Preserve Présent(x) Présent(x) = a Next Else x = x + 1 ReDim Preserve Présent(x) Présent(x) = c End If
If c.Offset(0, 1) <> 0 Then For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 y = y + 1 ReDim Preserve Absent(y) Absent(y) = b Next Else For b = c + 1 To c.Offset(1, 0) - 1 y = y + 1 ReDim Preserve Absent(y) Absent(y) = b Next End If Next
Range("D1").Resize(UBound(Présent) + 1) = Application.Transpose(Présent) Range("E1").Resize(UBound(Absent) + 1) = Application.Transpose(Absent) End Sub
isabelle
Le 2016-04-14 07:15, jip a écrit :
En fait j'ai trouvé, il y avait dans mon tableau quelques valeurs avec des "bis" ou "/1", une fois supprimées plus d'erreur. Merci
Ben ça marche et ça marche pas, il manque des valeurs dans "Absent". Exemple avec le début, pas de 33 alors qu'il n'est pas dans la liste.
If c.Offset(0, 1) <> 0 Then
For a = c To c.Offset(0, 1)
x = x + 1
ReDim Preserve Présent(x)
Présent(x) = a
Next
Else
x = x + 1
ReDim Preserve Présent(x)
Présent(x) = c
End If
If c.Offset(0, 1) <> 0 Then
For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1
y = y + 1
ReDim Preserve Absent(y)
Absent(y) = b
Next
Else
For b = c + 1 To c.Offset(1, 0) - 1
y = y + 1
ReDim Preserve Absent(y)
Absent(y) = b
Next
End If
Next
Range("D1").Resize(UBound(Présent) + 1) = Application.Transpose(Présent)
Range("E1").Resize(UBound(Absent) + 1) = Application.Transpose(Absent)
End Sub
isabelle
Le 2016-04-14 07:15, jip a écrit :
En fait j'ai trouvé, il y avait dans mon tableau quelques valeurs avec des "bis" ou "/1", une fois supprimées plus d'erreur.
Merci
Ben ça marche et ça marche pas, il manque des valeurs dans "Absent".
Exemple avec le début, pas de 33 alors qu'il n'est pas dans la liste.
If c.Offset(0, 1) <> 0 Then For a = c To c.Offset(0, 1) x = x + 1 ReDim Preserve Présent(x) Présent(x) = a Next Else x = x + 1 ReDim Preserve Présent(x) Présent(x) = c End If
If c.Offset(0, 1) <> 0 Then For b = c.Offset(0, 1) + 1 To c.Offset(1, 0) - 1 y = y + 1 ReDim Preserve Absent(y) Absent(y) = b Next Else For b = c + 1 To c.Offset(1, 0) - 1 y = y + 1 ReDim Preserve Absent(y) Absent(y) = b Next End If Next
Range("D1").Resize(UBound(Présent) + 1) = Application.Transpose(Présent) Range("E1").Resize(UBound(Absent) + 1) = Application.Transpose(Absent) End Sub
isabelle
Le 2016-04-14 07:15, jip a écrit :
En fait j'ai trouvé, il y avait dans mon tableau quelques valeurs avec des "bis" ou "/1", une fois supprimées plus d'erreur. Merci
Ben ça marche et ça marche pas, il manque des valeurs dans "Absent". Exemple avec le début, pas de 33 alors qu'il n'est pas dans la liste.