Erreur 424 Objet requis
Résolu
Pir27
-
Pir27 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
Pir27 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Erreur 424 Objet requis
- Vente objet occasion entre particulier - Guide
- Objet interdit en cabine ryanair - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur t32 ✓ - Forum Livebox
4 réponses
Bonjour,
C'est le code que je vous ai fait debut octobre, le probleme est lie a des cellules vides. Il me semble que je vous ai donne un code avec des modif pour traiter ce probleme, modif suggerees par eriic ou michel_m de CCM.
A+
C'est le code que je vous ai fait debut octobre, le probleme est lie a des cellules vides. Il me semble que je vous ai donne un code avec des modif pour traiter ce probleme, modif suggerees par eriic ou michel_m de CCM.
A+
Bonjour, je ne comprend pas, la modif de Michel m est bien dans le code :
For Each cel In Plage_ID1
If Not Dico1.Exists(cel.Value) Then
Dico1.Add cel.Value, cel.Value
End If
Next cel
juste avant la 'Boucle pour ajout manquant'
Dois-je la répéter à l'intérieur de cette boucle ?
Merci.
For Each cel In Plage_ID1
If Not Dico1.Exists(cel.Value) Then
Dico1.Add cel.Value, cel.Value
End If
Next cel
juste avant la 'Boucle pour ajout manquant'
Dois-je la répéter à l'intérieur de cette boucle ?
Merci.
Bonjour,
Autant pour moi, la modif oubliee a cet endroit (voir correction en gras).
Autant pour moi, la modif oubliee a cet endroit (voir correction en gras).
Sub traitement_enregistrements()
Dim derlig1 As Integer, derlig2 As Integer
Dim Dico1, Dico2, cel, Plage_ID2, Plage_ID1
Application.ScreenUpdating = False
Set Dico1 = CreateObject("Scripting.Dictionary")
Set Dico2 = CreateObject("Scripting.Dictionary")
'dico2 pour comparaison enregistrement(s) en trop(s) fichier1
With Worksheets("feuil1")
derlig2 = .Range("A" & Rows.Count).End(xlUp).Row
Set Plage_ID2 = .Range("A2:A" & derlig2)
For Each cel In Plage_ID2
Dico2.Add cel.Value, cel.Value
Next cel
End With
'ouverture fichier1.xls
Set fichier1 = Workbooks.Open("D:\_Docs_Prog_Excel\_Excel_a_traiter\Dico\fichier1.xls")
With Workbooks("fichier1.xls").Worksheets("feuil1")
lig = 2
Do While .Cells(lig, 1) <> ""
If Not Dico2.exists(Cells(lig, 1).Value) Then
'suppression ligne
.Rows(lig).Delete
Else
lig = lig + 1
End If
Loop
'Dico pour ajout enregistrement manquant fichier1 dans fichier2
derlig1 = .Range("A" & Rows.Count).End(xlUp).Row
Set Plage_ID1 = .Range("A2:A" & derlig1)
For Each cel In Plage_ID1
If Not Dico1.exists(Cells(lig, 1).Value) Then
Dico1.Add cel.Value, cel.Value
End If
Next cel
'boucle pour ajout manquant
For Each cel In Plage_ID2
If Not Dico1.exists(cel.Value) Then
derlig1 = derlig1 + 1
addr = cel.Row
.Range("A" & derlig1) = Workbooks("fichier2.xls").Worksheets("feuil1").Range("A" & addr)
.Range("B" & derlig1) = Workbooks("fichier2.xls").Worksheets("feuil1").Range("B" & addr)
.Range("D" & derlig1) = Workbooks("fichier2.xls").Worksheets("feuil1").Range("C" & addr)
End If
Next cel
End With
Set Dico1 = Nothing
Set Dico2 = Nothing
Application.ScreenUpdating = True
End Sub