A voir également:
- Comparaison d'ensembles de données - Matrice - VBA
- Reinstaller windows sans perte de données - Guide
- Comparaison million milliard - Accueil - Technologies
- Effacer les données de navigation - Guide
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
- Comment sauvegarder toutes les données de mon téléphone - Guide
4 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
17 avril 2014 à 14:21
17 avril 2014 à 14:21
Bonjour
est ce normal que tu aies Plusieurs fois une nouvelle référence dans le tableau feuille av ?
D9 et F5
est ce normal que tu aies Plusieurs fois une nouvelle référence dans le tableau feuille av ?
D9 et F5
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
17 avril 2014 à 14:58
17 avril 2014 à 14:58
Tu as écris
Et si elle est nouvelle il faut pouvoir la réécrire dans une autre feuille encore, afin de créer au final une liste de nouvelles combinaisons.
mais la feuille résultat, je ne devrais t'il pas lire que les 2 nouveles :Z4 et D9 ?
Si c'est une compilation mets ces 2 nouvelles valeurs à la suite "cellule A et derlig+1" au lieu de A2
le code proposé
La maquette
https://www.cjoint.com/?3DroY0JbbKe
Et si elle est nouvelle il faut pouvoir la réécrire dans une autre feuille encore, afin de créer au final une liste de nouvelles combinaisons.
mais la feuille résultat, je ne devrais t'il pas lire que les 2 nouveles :Z4 et D9 ?
Si c'est une compilation mets ces 2 nouvelles valeurs à la suite "cellule A et derlig+1" au lieu de A2
le code proposé
Option Explicit
'-----
Sub reperer_nouvelles()
Dim Derlig As Integer, T_av, Idx As Integer, D_av As Object, Ref As String
Dim D_n As Object, T_n
Dim T_new, separe, Cptr As Integer
ReDim T_new(2, 0)
With Sheets("av")
Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row
Set D_av = CreateObject("scripting.dictionary")
T_av = .Range("A2:B" & Derlig)
For Idx = 1 To UBound(T_av)
Ref = T_av(Idx, 1) & " " & T_av(Idx, 2)
If Not D_av.exists(Ref) Then D_av.Add Ref, ""
Next
T_av = D_av.keys
End With
With Sheets("n")
Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row
Set D_n = CreateObject("scripting.dictionary")
T_n = .Range("A2:B" & Derlig)
For Idx = 1 To UBound(T_n)
Ref = T_n(Idx, 1) & " " & T_n(Idx, 2)
If Not D_n.exists(Ref) Then D_n.Add Ref, ""
Next
End With
For Idx = 0 To UBound(T_av)
If Not D_n.exists(T_av(Idx)) Then
separe = Split(T_av(Idx))
ReDim Preserve T_new(2, Cptr)
T_new(0, Cptr) = separe(0)
T_new(2, Cptr) = separe(1)
Cptr = Cptr + 1
End If
Next
With Sheets("Résultat")
'.Range("A2:C1000").Clear ' a activer après essais
.Range("E2").Resize(Cptr, 3) = Application.Transpose(T_new) 'remplacer E2 par A2 après essais
End With
End Sub
La maquette
https://www.cjoint.com/?3DroY0JbbKe
Merci Michel! Trop fort :) Par contre tu utilises des outils que je ne connais pas... J'essaye d'adapter à mon fichier réel mais ça le fonctionne pas. En fait dans le vrai fichier ceux sont les colonnes 9 et 11 qui m'intéressent.
Les cellules de ces colonnes contiennent des chaines de caractères que j'aimerais extraire entières... En faisant les modif ci dessous ça me découpe le contenu des cellules et ne retire pas les infos désirées.
Option Explicit
'-----
Sub reperer_nouvelles()
Dim Derlig As Integer, T_av, Idx As Integer, D_av As Object, Ref As String
Dim D_n As Object, T_n
Dim T_new, separe, Cptr As Integer
ReDim T_new(2, 0)
With Sheets("av")
Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row
Set D_av = CreateObject("scripting.dictionary")
T_av = .Range("A2:B" & Derlig)
For Idx = 1 To UBound(T_av)
Ref = T_av(Idx, 9) & " " & T_av(Idx, 11) 'J'ai remplacé 1 par 9 et 2 par 11
If Not D_av.exists(Ref) Then D_av.Add Ref, ""
Next
T_av = D_av.keys
End With
With Sheets("n")
Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row
Set D_n = CreateObject("scripting.dictionary")
T_n = .Range("A2:B" & Derlig)
For Idx = 1 To UBound(T_n)
Ref = T_n(Idx, 9) & " " & T_n(Idx, 11) 'J'ai remplacé 1 par 9 et 2 par 11
If Not D_n.exists(Ref) Then D_n.Add Ref, ""
Next
End With
For Idx = 0 To UBound(T_av)
If Not D_n.exists(T_av(Idx)) Then
separe = Split(T_av(Idx))
ReDim Preserve T_new(2, Cptr)
T_new(0, Cptr) = separe(0)
T_new(2, Cptr) = separe(1)
Cptr = Cptr + 1
End If
Next
With Sheets("Résultat")
.Range("A2:C1000").Clear
.Range("A2").Resize(Cptr, 3) = Application.Transpose(T_new)
End With
Veux tu que je refasse un fichier d'exemple? Je suis désolé, je pensais que celui envoyé aurait suffit mais non :/
Merci encore! Tu me sauves la vie!!!!
Les cellules de ces colonnes contiennent des chaines de caractères que j'aimerais extraire entières... En faisant les modif ci dessous ça me découpe le contenu des cellules et ne retire pas les infos désirées.
Option Explicit
'-----
Sub reperer_nouvelles()
Dim Derlig As Integer, T_av, Idx As Integer, D_av As Object, Ref As String
Dim D_n As Object, T_n
Dim T_new, separe, Cptr As Integer
ReDim T_new(2, 0)
With Sheets("av")
Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row
Set D_av = CreateObject("scripting.dictionary")
T_av = .Range("A2:B" & Derlig)
For Idx = 1 To UBound(T_av)
Ref = T_av(Idx, 9) & " " & T_av(Idx, 11) 'J'ai remplacé 1 par 9 et 2 par 11
If Not D_av.exists(Ref) Then D_av.Add Ref, ""
Next
T_av = D_av.keys
End With
With Sheets("n")
Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row
Set D_n = CreateObject("scripting.dictionary")
T_n = .Range("A2:B" & Derlig)
For Idx = 1 To UBound(T_n)
Ref = T_n(Idx, 9) & " " & T_n(Idx, 11) 'J'ai remplacé 1 par 9 et 2 par 11
If Not D_n.exists(Ref) Then D_n.Add Ref, ""
Next
End With
For Idx = 0 To UBound(T_av)
If Not D_n.exists(T_av(Idx)) Then
separe = Split(T_av(Idx))
ReDim Preserve T_new(2, Cptr)
T_new(0, Cptr) = separe(0)
T_new(2, Cptr) = separe(1)
Cptr = Cptr + 1
End If
Next
With Sheets("Résultat")
.Range("A2:C1000").Clear
.Range("A2").Resize(Cptr, 3) = Application.Transpose(T_new)
End With
Veux tu que je refasse un fichier d'exemple? Je suis désolé, je pensais que celui envoyé aurait suffit mais non :/
Merci encore! Tu me sauves la vie!!!!
"Tu as écris
Et si elle est nouvelle il faut pouvoir la réécrire dans une autre feuille encore, afin de créer au final une liste de nouvelles combinaisons.
mais la feuille résultat, je ne devrais t'il pas lire que les 2 nouvelles :Z4 et D9 ? "
Non la réécrire une seule fois c'est bon :) On est dans le qualitatif et non le qualitatif :D
Et si elle est nouvelle il faut pouvoir la réécrire dans une autre feuille encore, afin de créer au final une liste de nouvelles combinaisons.
mais la feuille résultat, je ne devrais t'il pas lire que les 2 nouvelles :Z4 et D9 ? "
Non la réécrire une seule fois c'est bon :) On est dans le qualitatif et non le qualitatif :D
J'ai créé un fichier très ressemblant au fichier original (données confidentielles).
http://cjoint.com/?DDrqMhGQUuV
http://cjoint.com/?DDrqMhGQUuV
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 17/04/2014 à 16:51
Modifié par michel_m le 17/04/2014 à 16:51
je lis:
..." J'essaye d'adapter à mon fichier réel mais ça le fonctionne pas. En fait dans le vrai fichier ceux sont les colonnes 9 et 11 qui m'intéressent.
Les cellules de ces colonnes contiennent des chaines de caractères que j'aimerais extraire entières... En faisant les modif ci dessous ça me découpe le contenu des cellules et ne retire pas les infos désirées.3...
BRAVO!
mais POURQUOI les demandeurs envoient presque toujours des fichiers bidon ne correspondant peu ou prou à la réalité ? conclusion, il faut parfois tout recommencer et là c'est le cas
Il faut bien te rendre compte que ce que tu demandes n'est pas forcément facile et que personne ne veut passer parfois plusieurs heures à essayer de résoudre un problème bénévolement pour se voir dire après coup « non vous n'avez pas compris mon problème (rarement, je n'ai pas bien expliqué) il faut en plus que.... »
Décourageant
Michel
..." J'essaye d'adapter à mon fichier réel mais ça le fonctionne pas. En fait dans le vrai fichier ceux sont les colonnes 9 et 11 qui m'intéressent.
Les cellules de ces colonnes contiennent des chaines de caractères que j'aimerais extraire entières... En faisant les modif ci dessous ça me découpe le contenu des cellules et ne retire pas les infos désirées.3...
BRAVO!
mais POURQUOI les demandeurs envoient presque toujours des fichiers bidon ne correspondant peu ou prou à la réalité ? conclusion, il faut parfois tout recommencer et là c'est le cas
Il faut bien te rendre compte que ce que tu demandes n'est pas forcément facile et que personne ne veut passer parfois plusieurs heures à essayer de résoudre un problème bénévolement pour se voir dire après coup « non vous n'avez pas compris mon problème (rarement, je n'ai pas bien expliqué) il faut en plus que.... »
Décourageant
Michel
Pour ma part ce fut surement un peu trop de confiance en moi. Je pensais pouvoir adapter mais je suis juste dépassé, comme vous le dites ce sujet est plutôt difficile. Non et puis j'ai surement mal réfléchi mon premier fichier d'exemple...
Désolé de vous avoir fait perdre votre temps.
Et puis vous aviez parfaitement compris le problème que j'ai exposé, c'est juste mon premier fichier qui n'était pas adapté à ma demande.
Encore merci toutefois, je comprendrais que vous arrêtiez de bosser sur ma demande.
Bien cordialement
Désolé de vous avoir fait perdre votre temps.
Et puis vous aviez parfaitement compris le problème que j'ai exposé, c'est juste mon premier fichier qui n'était pas adapté à ma demande.
Encore merci toutefois, je comprendrais que vous arrêtiez de bosser sur ma demande.
Bien cordialement
17 avril 2014 à 14:25