Erreur 91 Variable objet ou variable de bloc with non définie.

PSCLDEV

XLDnaute Nouveau
Bonjour,

J’ai soucis avec Erreur 91 Variable objet ou variable de bloc with non définie.
En fait il fonctionne lors de la première boucle, la variable UPC est bien existante et la récupération sous mon onglet TRD est bonne.
Lors du passage de la deuxième boucle pour la deuxième valeur de ma plage la variable est également bien présente mais j’ai une erreur sur ma recherche

Sub MAJTRD()
Windows("ANTELES.xlsm").Activate
'Identification répertoire et fichier source
Dim FL1 As Worksheet, Cell, cel As Range, Plage As Range
'Déclaration de la variable UPC reprise dans la boucle
Dim upc As String
'Déclaration variable pour l'ouverture du fichier du mois
Dim strfichier As String
Dim strrepertoire As String
strfichier = Sheets("TRD").Range("B2").Value
strrepertoire = Sheets("TRD").Range("B1").Value
'Ouverture du fichier
Workbooks.Open Filename:=strrepertoire & "\" & strfichier
'Activation fenetre ANTELES
Windows("ANTELES.xlsm").Activate
Range("A5").Select
Set FL1 = Worksheets("TRD")
With FL1
upc = ActiveCell.Value
Set Plage = .Range("a5:a50") 'Prévoir une plage auto
For Each Cell In Plage
'Début de boucle
If ActiveCell.Value <> "" Then
upc = ActiveCell.Value
Windows("FCR-TRD_Arvato_S1.xls").Activate
'Range("A1:AE1").Select
Cells.Find(What:=upc, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate

ActiveCell.Offset(0, 2).Select
Selection.Copy
Windows("ANTELES.xlsm").Activate
adrupc = ActiveCell.Address
Range(adrupc).Select
ActiveCell.Offset(0, 2).Select
ActiveSheet.Paste
Range(adrupc).Select
ActiveCell.Offset(1, 0).Select
Else
End If
'Fin de boucle
Next
End With
Set FL1 = Nothing
Set Plage = Nothing
End Sub

Merci pour votre aide.
 

Modeste

XLDnaute Barbatruc
Re : Erreur 91 Variable objet ou variable de bloc with non définie.

Bonjour,

Si c'est bien d'une question Excel qu'il s'agit, tu aurais plutôt dû poster ici

Pas tout regardé ... d'autant qu'on ne peut guère tester en pas-à-pas, sans fichier, mais si tu initialises une boucle par:
Code:
For Each Cell In Plage
... il me semble qu'il faut ensuite utiliser Cell et non ActiveCell
 

PSCLDEV

XLDnaute Nouveau
Re : Erreur 91 Variable objet ou variable de bloc with non définie.

Merci pour ta réponse

Voici les fichier épurés ci dessous.
Anreles Contenant la macro sous module1
S1 les valeurs recherhcées.
cdt
Pascal
 

Pièces jointes

  • ANTELES.xlsm
    38.7 KB · Affichages: 164
  • FCR-TRD_Arvato_S1.xls
    220 KB · Affichages: 147
  • ANTELES.xlsm
    38.7 KB · Affichages: 200
  • FCR-TRD_Arvato_S1.xls
    220 KB · Affichages: 143
  • ANTELES.xlsm
    38.7 KB · Affichages: 197
  • FCR-TRD_Arvato_S1.xls
    220 KB · Affichages: 157

Modeste

XLDnaute Barbatruc
Re : Erreur 91 Variable objet ou variable de bloc with non définie.

Re-bonjour,

Je viens de voir que tu avais ouvert un autre fil ... on risque de s'y perdre entre les deux!

Tu as testé, dans ta boucle, le remplacement de ActiveCell, par Cell ... pour voir si ton message d'erreur persiste?
 

Modeste

XLDnaute Barbatruc
Re : Erreur 91 Variable objet ou variable de bloc with non définie.

Re²,

J'ai mis un peu de temps à comprendre ce que tu voulais faire ... si j'ai bien compris teste avec les quelques modifs apportées à ton code ci-dessous (ce n'est sans doute pas un modèle du genre, mais on saura si c'est ce que tu veux faire et on verra ensuite si on peut améliorer!)

VB:
Sub MAJTRD()
Windows("ANTELES.xlsm").Activate
'Identification répertoire et fichier source
Dim FL1 As Worksheet, Cell As Range, Plage As Range
'Déclaration de la variable UPC reprise dans la boucle
Dim upc As String
'Déclaration variable pour l'ouverture du fichier du mois
Dim strfichier As String
Dim strrepertoire As String
strfichier = Sheets("TRD").Range("B2").Value
strrepertoire = Sheets("TRD").Range("B1").Value
'Ouverture du fichier
' Workbooks.Open Filename:=strrepertoire & "\" & strfichier
'Activation fenetre ANTELES
Windows("ANTELES.xlsm").Activate
Range("A5").Select
Set FL1 = Worksheets("TRD")
With FL1
'upc = ActiveCell.Value
Set Plage = .Range("a5:a50") 'Prévoir une plage auto
For Each Cell In Plage
'Début de boucle
If Cell.Value <> "" Then
upc = Cell.Value
Windows("FCR-TRD_Arvato_S1.xls").Activate
'Range("A1:AE1").Select
Set Trouve = [C:C].Find(What:=upc, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If Not Trouve Is Nothing Then
Trouve.Offset(0, 2).Copy Cell.Offset(0, 2)
'Cell.Offset(0, 2).Select
'Selection.Copy
Windows("ANTELES.xlsm").Activate
' adrupc = Cell.Address
' Range(adrupc).Select

' ActiveSheet.Paste
' Range(adrupc).Select
Cell.Offset(1, 0).Select
Else
MsgBox Cell & " pas trouvé !"
End If
Else
End If
'Fin de boucle
Next
End With
'Set FL1 = Nothing
'Set Plage = Nothing
End Sub
 

Modeste

XLDnaute Barbatruc
Re : Erreur 91 Variable objet ou variable de bloc with non définie.

Bonsoir,

Au cas où tu repasserais encore par ici ... et juste pour être certain: tu sais qu'une simple RECHERCHEV ou une combinaison INDEX/EQUIV donnerait des résultats fort similaires ... les couleurs de remplissage pourraient être obtenues par Mises en Forme Conditionnelles, si ça tombe!?
 

PSCLDEV

XLDnaute Nouveau
Re : Erreur 91 Variable objet ou variable de bloc with non définie.

Merci pour les indications, mais comme le fichier ouvre un autre fichier excel sur le réseau je ne suis pas certain de la rapiditié.
Je vais essayer.
dans l'attente merci.
cdt

Pascal
 

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 457
Membres
103 219
dernier inscrit
Akyrah