Bonjour ,
voilà un problème certainement très simple pour les cadors d'excel-VBA :
Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B.
Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec
récupération d'un objet Range) mais je reviens à la première occurence et
c'est donc sans fin.
Je me suis demandé si ce n'était le After:=activeCell du FindNext qui était
mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ?
Ensuite je voulais essayer de me positionner par rapport au résultat
précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour
le xxxxx
Bref si qqun peut m'aider, merci.
Serge
code :
------
Dim spare(16) As Range
i = 0
Set spare(i) = Range("A:B").Find("SPARE PART", _
LookIn:=xlValues, LookAt:=xlPart, _
After:=ActiveCell, SearchDirection:=xlNext, _
SearchFormat:=False )
Do
If spare(i) Is Nothing Then Exit Do
i = i + 1
Set spare(i) = Range("A:B").FindNext(After:=ActiveCell)
Loop
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
bonjour,
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop
bonjour,
un code pour détecter et constituer une plage de toutes les cellules
disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour
ensemeble feuille remplacer par cells
Set C = .Find(What:="60")
If Not C Is Nothing Then
firstAddress = C.Address
Set plage = C
Do
Set plage = Union(C, plage)
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
End With
end sub
A+
Bonjour ,
voilà un problème certainement très simple pour les cadors d'excel-VBA :
Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B.
Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec
récupération d'un objet Range) mais je reviens à la première occurence et
c'est donc sans fin.
Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était
mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ?
Ensuite je voulais essayer de me positionner par rapport au résultat
précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour
le xxxxx
Bref si qqun peut m'aider, merci.
Serge
code :
------
Dim spare(16) As Range
i = 0
Set spare(i) = Range("A:B").Find("SPARE PART", _
LookIn:=xlValues, LookAt:=xlPart, _
After:¬tiveCell, SearchDirection:=xlNext, _
SearchFormat:úlse )
Do
If spare(i) Is Nothing Then Exit Do
i = i + 1
Set spare(i) = Range("A:B").FindNext(After:¬tiveCell)
Loop
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop
Serge
merci pour le code. serge
"anonymousA" a écrit dans le message de news: 421743f8$0$828$
bonjour,
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop
merci pour le code.
serge
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
421743f8$0$828$8fcfb975@news.wanadoo.fr...
bonjour,
un code pour détecter et constituer une plage de toutes les cellules
disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour
ensemeble feuille remplacer par cells
Set C = .Find(What:="60")
If Not C Is Nothing Then
firstAddress = C.Address
Set plage = C
Do
Set plage = Union(C, plage)
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
End With
end sub
A+
Bonjour ,
voilà un problème certainement très simple pour les cadors d'excel-VBA :
Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B.
Le code que j'ai écrit boucle : je trouve bien toutes les occurences
(avec récupération d'un objet Range) mais je reviens à la première
occurence et c'est donc sans fin.
Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui
était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence
?
Ensuite je voulais essayer de me positionner par rapport au résultat
précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre
pour le xxxxx
Bref si qqun peut m'aider, merci.
Serge
code :
------
Dim spare(16) As Range
i = 0
Set spare(i) = Range("A:B").Find("SPARE PART", _
LookIn:=xlValues, LookAt:=xlPart, _
After:¬tiveCell, SearchDirection:=xlNext, _
SearchFormat:úlse )
Do
If spare(i) Is Nothing Then Exit Do
i = i + 1
Set spare(i) = Range("A:B").FindNext(After:¬tiveCell)
Loop
"anonymousA" a écrit dans le message de news: 421743f8$0$828$
bonjour,
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop
Serge
ça fonctionne bien j'ai bien mes cellules dans plage Par contre j'ai encore un problème jsute après pour parcourir la plage. Je pensais qu'un simple for each allait fonctionner mais j'ai une erreur sur l'appel de subroutine. je ne comprends car pourtant cc est bien un objet Range.
For Each cc In plage rtn (cc) ====> erreur '424' : "objet requis" Next
sub rtn (rg as range)
merci. Serge
"anonymousA" a écrit dans le message de news: 421743f8$0$828$
bonjour,
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop
ça fonctionne bien j'ai bien mes cellules dans plage
Par contre j'ai encore un problème jsute après pour parcourir la plage. Je
pensais qu'un simple for each allait fonctionner mais j'ai une erreur sur
l'appel de subroutine. je ne comprends car pourtant cc est bien un objet
Range.
For Each cc In plage
rtn (cc) ====> erreur '424' : "objet requis"
Next
sub rtn (rg as range)
merci.
Serge
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
421743f8$0$828$8fcfb975@news.wanadoo.fr...
bonjour,
un code pour détecter et constituer une plage de toutes les cellules
disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour
ensemeble feuille remplacer par cells
Set C = .Find(What:="60")
If Not C Is Nothing Then
firstAddress = C.Address
Set plage = C
Do
Set plage = Union(C, plage)
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
End With
end sub
A+
Bonjour ,
voilà un problème certainement très simple pour les cadors d'excel-VBA :
Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B.
Le code que j'ai écrit boucle : je trouve bien toutes les occurences
(avec récupération d'un objet Range) mais je reviens à la première
occurence et c'est donc sans fin.
Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui
était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence
?
Ensuite je voulais essayer de me positionner par rapport au résultat
précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre
pour le xxxxx
Bref si qqun peut m'aider, merci.
Serge
code :
------
Dim spare(16) As Range
i = 0
Set spare(i) = Range("A:B").Find("SPARE PART", _
LookIn:=xlValues, LookAt:=xlPart, _
After:¬tiveCell, SearchDirection:=xlNext, _
SearchFormat:úlse )
Do
If spare(i) Is Nothing Then Exit Do
i = i + 1
Set spare(i) = Range("A:B").FindNext(After:¬tiveCell)
Loop
ça fonctionne bien j'ai bien mes cellules dans plage Par contre j'ai encore un problème jsute après pour parcourir la plage. Je pensais qu'un simple for each allait fonctionner mais j'ai une erreur sur l'appel de subroutine. je ne comprends car pourtant cc est bien un objet Range.
For Each cc In plage rtn (cc) ====> erreur '424' : "objet requis" Next
sub rtn (rg as range)
merci. Serge
"anonymousA" a écrit dans le message de news: 421743f8$0$828$
bonjour,
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop
anonymousA
re,
écire call rtn(cc) ou rtn cc car le call exige qu'un argument soit passé par parentèses alors que l'absence de call s'en dispense et même ne pourrait fonctionner avec.
A+
ça fonctionne bien j'ai bien mes cellules dans plage Par contre j'ai encore un problème jsute après pour parcourir la plage. Je pensais qu'un simple for each allait fonctionner mais j'ai une erreur sur l'appel de subroutine. je ne comprends car pourtant cc est bien un objet Range.
For Each cc In plage rtn (cc) ====> erreur '424' : "objet requis" Next
sub rtn (rg as range)
merci. Serge
"anonymousA" a écrit dans le message de news: 421743f8$0$828$
bonjour,
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop
re,
écire call rtn(cc) ou rtn cc car le call exige qu'un argument soit passé
par parentèses alors que l'absence de call s'en dispense et même ne
pourrait fonctionner avec.
A+
ça fonctionne bien j'ai bien mes cellules dans plage
Par contre j'ai encore un problème jsute après pour parcourir la plage. Je
pensais qu'un simple for each allait fonctionner mais j'ai une erreur sur
l'appel de subroutine. je ne comprends car pourtant cc est bien un objet
Range.
For Each cc In plage
rtn (cc) ====> erreur '424' : "objet requis"
Next
sub rtn (rg as range)
merci.
Serge
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
421743f8$0$828$8fcfb975@news.wanadoo.fr...
bonjour,
un code pour détecter et constituer une plage de toutes les cellules
disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour
ensemeble feuille remplacer par cells
Set C = .Find(What:="60")
If Not C Is Nothing Then
firstAddress = C.Address
Set plage = C
Do
Set plage = Union(C, plage)
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
End With
end sub
A+
Bonjour ,
voilà un problème certainement très simple pour les cadors d'excel-VBA :
Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B.
Le code que j'ai écrit boucle : je trouve bien toutes les occurences
(avec récupération d'un objet Range) mais je reviens à la première
occurence et c'est donc sans fin.
Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui
était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence
?
Ensuite je voulais essayer de me positionner par rapport au résultat
précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre
pour le xxxxx
Bref si qqun peut m'aider, merci.
Serge
code :
------
Dim spare(16) As Range
i = 0
Set spare(i) = Range("A:B").Find("SPARE PART", _
LookIn:=xlValues, LookAt:=xlPart, _
After:¬tiveCell, SearchDirection:=xlNext, _
SearchFormat:úlse )
Do
If spare(i) Is Nothing Then Exit Do
i = i + 1
Set spare(i) = Range("A:B").FindNext(After:¬tiveCell)
Loop
écire call rtn(cc) ou rtn cc car le call exige qu'un argument soit passé par parentèses alors que l'absence de call s'en dispense et même ne pourrait fonctionner avec.
A+
ça fonctionne bien j'ai bien mes cellules dans plage Par contre j'ai encore un problème jsute après pour parcourir la plage. Je pensais qu'un simple for each allait fonctionner mais j'ai une erreur sur l'appel de subroutine. je ne comprends car pourtant cc est bien un objet Range.
For Each cc In plage rtn (cc) ====> erreur '424' : "objet requis" Next
sub rtn (rg as range)
merci. Serge
"anonymousA" a écrit dans le message de news: 421743f8$0$828$
bonjour,
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop
Serge
D'un autre côté, je me suis aussi lancé dans le VB standard où les appels se font par "rtn (cc)". C'est bien du Microsoft ça !
Maintenant tout marche nickel. Merci. Serge
"anonymousA" a écrit dans le message de news: 42176ab2$0$828$
re,
écire call rtn(cc) ou rtn cc car le call exige qu'un argument soit passé par parentèses alors que l'absence de call s'en dispense et même ne pourrait fonctionner avec.
A+
ça fonctionne bien j'ai bien mes cellules dans plage Par contre j'ai encore un problème jsute après pour parcourir la plage. Je pensais qu'un simple for each allait fonctionner mais j'ai une erreur sur l'appel de subroutine. je ne comprends car pourtant cc est bien un objet Range.
For Each cc In plage rtn (cc) ====> erreur '424' : "objet requis" Next
sub rtn (rg as range)
merci. Serge
"anonymousA" a écrit dans le message de news: 421743f8$0$828$
bonjour,
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop
D'un autre côté, je me suis aussi lancé dans le VB standard où les appels se
font par "rtn (cc)". C'est bien du Microsoft ça !
Maintenant tout marche nickel.
Merci.
Serge
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
42176ab2$0$828$8fcfb975@news.wanadoo.fr...
re,
écire call rtn(cc) ou rtn cc car le call exige qu'un argument soit passé
par parentèses alors que l'absence de call s'en dispense et même ne
pourrait fonctionner avec.
A+
ça fonctionne bien j'ai bien mes cellules dans plage
Par contre j'ai encore un problème jsute après pour parcourir la plage.
Je pensais qu'un simple for each allait fonctionner mais j'ai une erreur
sur l'appel de subroutine. je ne comprends car pourtant cc est bien un
objet Range.
For Each cc In plage
rtn (cc) ====> erreur '424' : "objet requis"
Next
sub rtn (rg as range)
merci.
Serge
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
421743f8$0$828$8fcfb975@news.wanadoo.fr...
bonjour,
un code pour détecter et constituer une plage de toutes les cellules
disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour
ensemeble feuille remplacer par cells
Set C = .Find(What:="60")
If Not C Is Nothing Then
firstAddress = C.Address
Set plage = C
Do
Set plage = Union(C, plage)
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
End With
end sub
A+
Bonjour ,
voilà un problème certainement très simple pour les cadors d'excel-VBA :
Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B.
Le code que j'ai écrit boucle : je trouve bien toutes les occurences
(avec récupération d'un objet Range) mais je reviens à la première
occurence et c'est donc sans fin.
Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui
était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence
?
Ensuite je voulais essayer de me positionner par rapport au résultat
précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre
pour le xxxxx
Bref si qqun peut m'aider, merci.
Serge
code :
------
Dim spare(16) As Range
i = 0
Set spare(i) = Range("A:B").Find("SPARE PART", _
LookIn:=xlValues, LookAt:=xlPart, _
After:¬tiveCell, SearchDirection:=xlNext, _
SearchFormat:úlse )
Do
If spare(i) Is Nothing Then Exit Do
i = i + 1
Set spare(i) = Range("A:B").FindNext(After:¬tiveCell)
Loop
D'un autre côté, je me suis aussi lancé dans le VB standard où les appels se font par "rtn (cc)". C'est bien du Microsoft ça !
Maintenant tout marche nickel. Merci. Serge
"anonymousA" a écrit dans le message de news: 42176ab2$0$828$
re,
écire call rtn(cc) ou rtn cc car le call exige qu'un argument soit passé par parentèses alors que l'absence de call s'en dispense et même ne pourrait fonctionner avec.
A+
ça fonctionne bien j'ai bien mes cellules dans plage Par contre j'ai encore un problème jsute après pour parcourir la plage. Je pensais qu'un simple for each allait fonctionner mais j'ai une erreur sur l'appel de subroutine. je ne comprends car pourtant cc est bien un objet Range.
For Each cc In plage rtn (cc) ====> erreur '424' : "objet requis" Next
sub rtn (rg as range)
merci. Serge
"anonymousA" a écrit dans le message de news: 421743f8$0$828$
bonjour,
un code pour détecter et constituer une plage de toutes les cellules disposant d'une valeur déetrminée.A adapter bien sur.
Sub recherchevaleurs_et_selection_plages_discontinues()
Dim plage As Range
With Worksheets(1).Range("A1:A65536") 'recherche dans colonne A.Pour ensemeble feuille remplacer par cells Set C = .Find(What:="60") If Not C Is Nothing Then firstAddress = C.Address Set plage = C Do Set plage = Union(C, plage) Set C = .FindNext(C) Loop While Not C Is Nothing And C.Address <> firstAddress End If
End With
end sub
A+
Bonjour , voilà un problème certainement très simple pour les cadors d'excel-VBA : Je cherche toutes les occurences de "SPARE PARTS" en colonne A et B. Le code que j'ai écrit boucle : je trouve bien toutes les occurences (avec récupération d'un objet Range) mais je reviens à la première occurence et c'est donc sans fin. Je me suis demandé si ce n'était le After:¬tiveCell du FindNext qui était mauvais mais dans ce cas, je trouverais toujours la 1ère occurence ? Ensuite je voulais essayer de me positionner par rapport au résultat précédent avec After:=spare(i-1).xxxxx mais je ne sais pas quoi mettre pour le xxxxx
Bref si qqun peut m'aider, merci. Serge
code : ------ Dim spare(16) As Range i = 0 Set spare(i) = Range("A:B").Find("SPARE PART", _ LookIn:=xlValues, LookAt:=xlPart, _ After:¬tiveCell, SearchDirection:=xlNext, _ SearchFormat:úlse ) Do If spare(i) Is Nothing Then Exit Do i = i + 1 Set spare(i) = Range("A:B").FindNext(After:¬tiveCell) Loop