Erreur imporatation des données
Résolu
r4944
Messages postés
122
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour ,
voici mon code en bas qui me permet de transférer des donnèes dèja traitès d'une autre feuille vers la feuille ouverte , mon probleme c'est que quand je l'ai essayé avec un nouveau fichier excel , parfois il marche et parfois non voici le message d'erreur que je recois quand il n'importe pas les données ; Object variable or with block variable not set
voici mon code en bas qui me permet de transférer des donnèes dèja traitès d'une autre feuille vers la feuille ouverte , mon probleme c'est que quand je l'ai essayé avec un nouveau fichier excel , parfois il marche et parfois non voici le message d'erreur que je recois quand il n'importe pas les données ; Object variable or with block variable not set
Dercol = .Rows(2).Find(what:="*", searchdirection:=xlPrevious).Column
Option Explicit
Option Base 1
'--------
Sub Importdatav2()
Dim Source As Workbook, Dercol As Integer
Dim Nbre As Integer, Tablo, Cptr As Integer, derlig As Integer, Lig As Integer, Col As Integer
Dim FichiersAOuvrir, I As Integer
Application.ScreenUpdating = False
FichiersAOuvrir = Application.GetOpenFilename(, , , , True)
If IsArray(FichiersAOuvrir) Then
For I = LBound(FichiersAOuvrir, 1) To UBound(FichiersAOuvrir, 1)
Set Source = Application.Workbooks.Open(FichiersAOuvrir(I), , True)
With Sheets("Workload - Charge de travail")
Dercol = .Rows(2).Find(what:="*", searchdirection:=xlPrevious).Column
Nbre = Application.CountIf(.Columns("AQ"), "XX")
ReDim Tablo(Nbre, Dercol)
Lig = 1
For Cptr = 1 To Nbre
Lig = .Columns("AQ").Find("XX", .Cells(Lig, "AQ"), xlValues).Row
For Col = 1 To Dercol
Tablo(Cptr, Col) = .Cells(Lig, Col)
Next Col
Next Cptr
End With
Source.Close False
With ThisWorkbook.Sheets("Sheet1")
derlig = .Range("A" & Rows.Count).End(xlUp).Row + 1 'premiere cellules vide colonne A
.Range("A" & derlig).Resize(Cptr, Dercol) = Tablo
'.Activate
End With
Next I
Else
MsgBox "Aucun choix"
End If
End Sub
A voir également:
- Erreur imporatation des données
- Trier des données excel - Guide
- Sauvegarde des données - Guide
- Supprimer les données de navigation - Guide
- Excel validation des données liste - Guide
- Erreur 0x80070643 - Accueil - Windows
1 réponse
Bonjour,
https://forums.commentcamarche.net/forum/affich-37622001-vba-detection-de-cellule-vide-ligne-colonnne
vous y trouvrez entre autre ceci:
Attention aux cellules vides...
https://forums.commentcamarche.net/forum/affich-37622001-vba-detection-de-cellule-vide-ligne-colonnne
vous y trouvrez entre autre ceci:
La méthode Find Dim Col As Integer Col = Rows(3).Find("*", , , , xlByRows, xlPrevious).Column ou : Dim Col As Integer Col = Rows(3).Find("", , , , xlByRows, xlNext).Column
Attention aux cellules vides...
je dois traiter aussi des cellules vides votre ligne d'instruction
est en erreur si la ligne est vide
essayez ceci
si dercol=1 c'est que la ligne est vide sauf peut-etre la premiere cellule
Normalement c'est cette ligne qui provoque la chose:
Les N/A apparaissent en colonnes ou en lignes ??
Vos donnees sont correctement restituees ???