Problème avec Application match et Range(cells...

Le
JP
Bonjour,

J'ai un blocage sur cette ligne
X = Application.Match(c, .Range(Cells(11, 3), Cells(11, nbCompBac + 2)), =
0)

Alors que quand elle est écrite comme ceci:
X = Application.Match(c, .Range("C11:W11"), 0)

(Dans le premier cas 23 colonnes et dans le deuxième 23 colonnes aussi)


Pas de problème!
Quelqu'un aurait une idée?

Merci

JP

Dim X As Variant, c As Range
With Worksheets("feuil1")

For Each c In .Range("B4:B" & nbCompBac + 2)
With Worksheets("feuil2")
X = Application.Match(c, .Range(Cells(11, 3), Cells(11, nbCom=
pBac + 2)), 0)
If Not IsError(X) Then
With .Range(Cells(11, 3), Cells(11, nbCompBac + 2))(1, X)
.ClearComments
.AddComment CStr(c.Offset(, 1).Value)
End With
Else
Err.Clear
End If
End With
Next
End With
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #25885292
Bonjour,

L'erreur se produit si "Feuil2" n'est pas la feuille active. Il faut
mettre des "." devant "Cells" :

X = Application.Match(c, .Range(.X = Application.Match(c,
.Range(Cells(11, 3), Cells(11, nbCompBac + 2)), 0), .Cells(11,
nbCompBac + 2)), 0)
sinon, "range" se réfère à "Feuil2" et c"X = Application.Match(c,
.Range(Cells(11, 3), Cells(11, nbCompBac + 2)), 0)" et "Cells(11,
nbCompBac + 2)" se réfèrent à la feuille active.
Cordialement.
Daniel


Bonjour,

J'ai un blocage sur cette ligne
X = Application.Match(c, .Range(Cells(11, 3), Cells(11, nbCompBac + 2)), 0)

Alors que quand elle est écrite comme ceci:
X = Application.Match(c, .Range("C11:W11"), 0)

(Dans le premier cas 23 colonnes et dans le deuxième 23 colonnes aussi)


Pas de problème!
Quelqu'un aurait une idée?

Merci

JP

Dim X As Variant, c As Range
With Worksheets("feuil1")

For Each c In .Range("B4:B" & nbCompBac + 2)
With Worksheets("feuil2")
X = Application.Match(c, .Range(Cells(11, 3), Cells(11, nbCompBac
+ 2)), 0) If Not IsError(X) Then
With .Range(Cells(11, 3), Cells(11, nbCompBac + 2))(1, X)
.ClearComments
.AddComment CStr(c.Offset(, 1).Value)
End With
Else
Err.Clear
End If
End With
Next
End With
DanielCo
Le #25885282
Erratum; lire :

X = Application.Match(c, .Range(.Cells(11, 3), .Cells(11, nbCompBac +
2)), 0)

Daniel



Bonjour,

L'erreur se produit si "Feuil2" n'est pas la feuille active. Il faut mettre
des "." devant "Cells" :

X = Application.Match(c, .Range(.X = Application.Match(c, .Range(Cells(11,
3), Cells(11, nbCompBac + 2)), 0), .Cells(11, nbCompBac + 2)), 0)
sinon, "range" se réfère à "Feuil2" et c"X = Application.Match(c,
.Range(Cells(11, 3), Cells(11, nbCompBac + 2)), 0)" et "Cells(11, nbCompBac +
2)" se réfèrent à la feuille active.
Cordialement.
Daniel


Bonjour,

J'ai un blocage sur cette ligne
X = Application.Match(c, .Range(Cells(11, 3), Cells(11, nbCompBac + 2)), 0)

Alors que quand elle est écrite comme ceci:
X = Application.Match(c, .Range("C11:W11"), 0)

(Dans le premier cas 23 colonnes et dans le deuxième 23 colonnes aussi)


Pas de problème!
Quelqu'un aurait une idée?

Merci

JP

Dim X As Variant, c As Range
With Worksheets("feuil1")

For Each c In .Range("B4:B" & nbCompBac + 2)
With Worksheets("feuil2")
X = Application.Match(c, .Range(Cells(11, 3), Cells(11,
nbCompBac + 2)), 0) If Not IsError(X) Then
With .Range(Cells(11, 3), Cells(11, nbCompBac + 2))(1, X)
.ClearComments
.AddComment CStr(c.Offset(, 1).Value)
End With
Else
Err.Clear
End If
End With
Next
End With
JP
Le #25885572
Bonjour Daniel,

Effectivement, je pensais que le . devant range suffisait. Ben non!

Merci

JP
Publicité
Poster une réponse
Anonyme