Comment définir en VBA l'union des celules contenant
la valeur 100 dans la plage A1:C5 ?
J'y arrive mais je trouve ça un peu tordu comme approche.
Il me semble avoir déjà vu quelque chose de plus élégant.
Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100()
Set ici = [a1:c5]
For i = 1 To ici.Count
If ici(i) = 100 Then
Set p = ici(i)
j = i
Exit For
End If
Next i
For i = j To ici.Count
If ici(i) = 100 Then Set p = Union(p, ici(i))
Next i
p.Select
End Sub
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
isabelle
bonjour Serge,
peut être comme ça,
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] Set p = ici.Find(What:0, LookIn:=xlValues) For i = 1 To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
isabelle
Bonjour,
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant. Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] For i = 1 To ici.Count If ici(i) = 100 Then Set p = ici(i) j = i Exit For End If Next i For i = j To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
A-- Serge
bonjour Serge,
peut être comme ça,
Sub Union_De_Celules_Contenant_100()
Set ici = [a1:c5]
Set p = ici.Find(What:0, LookIn:=xlValues)
For i = 1 To ici.Count
If ici(i) = 100 Then Set p = Union(p, ici(i))
Next i
p.Select
End Sub
isabelle
Bonjour,
Comment définir en VBA l'union des celules contenant
la valeur 100 dans la plage A1:C5 ?
J'y arrive mais je trouve ça un peu tordu comme approche.
Il me semble avoir déjà vu quelque chose de plus élégant.
Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100()
Set ici = [a1:c5]
For i = 1 To ici.Count
If ici(i) = 100 Then
Set p = ici(i)
j = i
Exit For
End If
Next i
For i = j To ici.Count
If ici(i) = 100 Then Set p = Union(p, ici(i))
Next i
p.Select
End Sub
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] Set p = ici.Find(What:0, LookIn:=xlValues) For i = 1 To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
isabelle
Bonjour,
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant. Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] For i = 1 To ici.Count If ici(i) = 100 Then Set p = ici(i) j = i Exit For End If Next i For i = j To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
A-- Serge
Daniel.C
Bonsoir Serge. Sub test() Dim c As Range, Plage As Range For Each c In [A1:C5] If c = 100 Then If Plage Is Nothing Then Set Plage = c Else Set Plage = Union(Plage, c) End If End If Next c Plage.Select End Sub Cordialement. Daniel "Tatanka" a écrit dans le message de news: %
Bonjour,
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant. Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] For i = 1 To ici.Count If ici(i) = 100 Then Set p = ici(i) j = i Exit For End If Next i For i = j To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
A-- Serge
Bonsoir Serge.
Sub test()
Dim c As Range, Plage As Range
For Each c In [A1:C5]
If c = 100 Then
If Plage Is Nothing Then
Set Plage = c
Else
Set Plage = Union(Plage, c)
End If
End If
Next c
Plage.Select
End Sub
Cordialement.
Daniel
"Tatanka" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
%23xuSjlVqIHA.5416@TK2MSFTNGP06.phx.gbl...
Bonjour,
Comment définir en VBA l'union des celules contenant
la valeur 100 dans la plage A1:C5 ?
J'y arrive mais je trouve ça un peu tordu comme approche.
Il me semble avoir déjà vu quelque chose de plus élégant.
Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100()
Set ici = [a1:c5]
For i = 1 To ici.Count
If ici(i) = 100 Then
Set p = ici(i)
j = i
Exit For
End If
Next i
For i = j To ici.Count
If ici(i) = 100 Then Set p = Union(p, ici(i))
Next i
p.Select
End Sub
Bonsoir Serge. Sub test() Dim c As Range, Plage As Range For Each c In [A1:C5] If c = 100 Then If Plage Is Nothing Then Set Plage = c Else Set Plage = Union(Plage, c) End If End If Next c Plage.Select End Sub Cordialement. Daniel "Tatanka" a écrit dans le message de news: %
Bonjour,
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant. Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] For i = 1 To ici.Count If ici(i) = 100 Then Set p = ici(i) j = i Exit For End If Next i For i = j To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
A-- Serge
Tatanka
Merci Isabella et Daniel,
Ça me convient parfaitement.
http://www.youtube.com/watch?v=m_aA2DBrRD0
Bonne soirée, Serge
"Daniel.C" a écrit dans le message de news:
Bonsoir Serge. Sub test() Dim c As Range, Plage As Range For Each c In [A1:C5] If c = 100 Then If Plage Is Nothing Then Set Plage = c Else Set Plage = Union(Plage, c) End If End If Next c Plage.Select End Sub Cordialement. Daniel "Tatanka" a écrit dans le message de news: %
Bonjour,
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant. Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] For i = 1 To ici.Count If ici(i) = 100 Then Set p = ici(i) j = i Exit For End If Next i For i = j To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
A-- Serge
Merci Isabella et Daniel,
Ça me convient parfaitement.
http://www.youtube.com/watch?v=m_aA2DBrRD0
Bonne soirée,
Serge
"Daniel.C" <dZZZcolardelle@free.fr> a écrit dans le message de news: eSwJWGXqIHA.548@TK2MSFTNGP06.phx.gbl...
Bonsoir Serge.
Sub test()
Dim c As Range, Plage As Range
For Each c In [A1:C5]
If c = 100 Then
If Plage Is Nothing Then
Set Plage = c
Else
Set Plage = Union(Plage, c)
End If
End If
Next c
Plage.Select
End Sub
Cordialement.
Daniel
"Tatanka" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news: %23xuSjlVqIHA.5416@TK2MSFTNGP06.phx.gbl...
Bonjour,
Comment définir en VBA l'union des celules contenant
la valeur 100 dans la plage A1:C5 ?
J'y arrive mais je trouve ça un peu tordu comme approche.
Il me semble avoir déjà vu quelque chose de plus élégant.
Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100()
Set ici = [a1:c5]
For i = 1 To ici.Count
If ici(i) = 100 Then
Set p = ici(i)
j = i
Exit For
End If
Next i
For i = j To ici.Count
If ici(i) = 100 Then Set p = Union(p, ici(i))
Next i
p.Select
End Sub
Bonsoir Serge. Sub test() Dim c As Range, Plage As Range For Each c In [A1:C5] If c = 100 Then If Plage Is Nothing Then Set Plage = c Else Set Plage = Union(Plage, c) End If End If Next c Plage.Select End Sub Cordialement. Daniel "Tatanka" a écrit dans le message de news: %
Bonjour,
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant. Vous avez une idée ou deux ?
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] For i = 1 To ici.Count If ici(i) = 100 Then Set p = ici(i) j = i Exit For End If Next i For i = j To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
A-- Serge
Modeste
Bonsour® Tatanka avec ferveur ;o))) vous nous disiez :
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant.
;o))) Sub tatanka() Set choixserge = Nothing Quoi = 100 With ActiveSheet.Range("a1:F20") Set trouve = .Find(what:=Quoi, LookIn:=xlValues) If Not trouve Is Nothing Then FirstAddress = trouve.Address Set choixserge = trouve Do Set trouve = .FindNext(trouve) Set choixserge = Union(choixserge, trouve) Loop While Not trouve Is Nothing And trouve.Address <> FirstAddress choixserge.Select Else MsgBox Quoi & " pas trouvé ...", vbCritical End If End With
End Sub
-- -- @+ ;o)))
Bonsour® Tatanka avec ferveur ;o))) vous nous disiez :
Comment définir en VBA l'union des celules contenant
la valeur 100 dans la plage A1:C5 ?
J'y arrive mais je trouve ça un peu tordu comme approche.
Il me semble avoir déjà vu quelque chose de plus élégant.
;o)))
Sub tatanka()
Set choixserge = Nothing
Quoi = 100
With ActiveSheet.Range("a1:F20")
Set trouve = .Find(what:=Quoi, LookIn:=xlValues)
If Not trouve Is Nothing Then
FirstAddress = trouve.Address
Set choixserge = trouve
Do
Set trouve = .FindNext(trouve)
Set choixserge = Union(choixserge, trouve)
Loop While Not trouve Is Nothing And trouve.Address <> FirstAddress
choixserge.Select
Else
MsgBox Quoi & " pas trouvé ...", vbCritical
End If
End With
Bonsour® Tatanka avec ferveur ;o))) vous nous disiez :
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant.
;o))) Sub tatanka() Set choixserge = Nothing Quoi = 100 With ActiveSheet.Range("a1:F20") Set trouve = .Find(what:=Quoi, LookIn:=xlValues) If Not trouve Is Nothing Then FirstAddress = trouve.Address Set choixserge = trouve Do Set trouve = .FindNext(trouve) Set choixserge = Union(choixserge, trouve) Loop While Not trouve Is Nothing And trouve.Address <> FirstAddress choixserge.Select Else MsgBox Quoi & " pas trouvé ...", vbCritical End If End With
End Sub
-- -- @+ ;o)))
Modeste
Bonsour® isabelle avec ferveur ;o))) vous nous disiez :
peut être comme ça,
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] Set p = ici.Find(What:0, LookIn:=xlValues) For i = 1 To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
;o))) pourquoi balayer toute les celllules ??? une boucle avec FindNext sera plus rapide voir l'exemple dans l'aide VBA : Find, Methode
-- -- @+ ;o)))
Bonsour® isabelle avec ferveur ;o))) vous nous disiez :
peut être comme ça,
Sub Union_De_Celules_Contenant_100()
Set ici = [a1:c5]
Set p = ici.Find(What:0, LookIn:=xlValues)
For i = 1 To ici.Count
If ici(i) = 100 Then Set p = Union(p, ici(i))
Next i
p.Select
End Sub
;o)))
pourquoi balayer toute les celllules ???
une boucle avec FindNext sera plus rapide
voir l'exemple dans l'aide VBA : Find, Methode
Bonsour® isabelle avec ferveur ;o))) vous nous disiez :
peut être comme ça,
Sub Union_De_Celules_Contenant_100() Set ici = [a1:c5] Set p = ici.Find(What:0, LookIn:=xlValues) For i = 1 To ici.Count If ici(i) = 100 Then Set p = Union(p, ici(i)) Next i p.Select End Sub
;o))) pourquoi balayer toute les celllules ??? une boucle avec FindNext sera plus rapide voir l'exemple dans l'aide VBA : Find, Methode
-- -- @+ ;o)))
Tatanka
Vraiment beaucoup très plus rapide sur de grosses plages ;-) Temps requis sur la plage A1:Z50000 : Isabella : 00:00:52 Modeste : 00:00:00 !
Serge
"Modeste" a écrit dans le message de news:
Bonsour® Tatanka avec ferveur ;o))) vous nous disiez :
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant.
;o))) Sub tatanka() Set choixserge = Nothing Quoi = 100 With ActiveSheet.Range("a1:F20") Set trouve = .Find(what:=Quoi, LookIn:=xlValues) If Not trouve Is Nothing Then FirstAddress = trouve.Address Set choixserge = trouve Do Set trouve = .FindNext(trouve) Set choixserge = Union(choixserge, trouve) Loop While Not trouve Is Nothing And trouve.Address <> FirstAddress choixserge.Select Else MsgBox Quoi & " pas trouvé ...", vbCritical End If End With
End Sub
-- -- @+ ;o)))
Vraiment beaucoup très plus rapide sur de grosses plages ;-)
Temps requis sur la plage A1:Z50000 :
Isabella : 00:00:52
Modeste : 00:00:00 !
Serge
"Modeste" <nomail@nomail.net> a écrit dans le message de news: OtND5dXqIHA.4292@TK2MSFTNGP04.phx.gbl...
Bonsour® Tatanka avec ferveur ;o))) vous nous disiez :
Comment définir en VBA l'union des celules contenant
la valeur 100 dans la plage A1:C5 ?
J'y arrive mais je trouve ça un peu tordu comme approche.
Il me semble avoir déjà vu quelque chose de plus élégant.
;o)))
Sub tatanka()
Set choixserge = Nothing
Quoi = 100
With ActiveSheet.Range("a1:F20")
Set trouve = .Find(what:=Quoi, LookIn:=xlValues)
If Not trouve Is Nothing Then
FirstAddress = trouve.Address
Set choixserge = trouve
Do
Set trouve = .FindNext(trouve)
Set choixserge = Union(choixserge, trouve)
Loop While Not trouve Is Nothing And trouve.Address <> FirstAddress
choixserge.Select
Else
MsgBox Quoi & " pas trouvé ...", vbCritical
End If
End With
Vraiment beaucoup très plus rapide sur de grosses plages ;-) Temps requis sur la plage A1:Z50000 : Isabella : 00:00:52 Modeste : 00:00:00 !
Serge
"Modeste" a écrit dans le message de news:
Bonsour® Tatanka avec ferveur ;o))) vous nous disiez :
Comment définir en VBA l'union des celules contenant la valeur 100 dans la plage A1:C5 ? J'y arrive mais je trouve ça un peu tordu comme approche. Il me semble avoir déjà vu quelque chose de plus élégant.
;o))) Sub tatanka() Set choixserge = Nothing Quoi = 100 With ActiveSheet.Range("a1:F20") Set trouve = .Find(what:=Quoi, LookIn:=xlValues) If Not trouve Is Nothing Then FirstAddress = trouve.Address Set choixserge = trouve Do Set trouve = .FindNext(trouve) Set choixserge = Union(choixserge, trouve) Loop While Not trouve Is Nothing And trouve.Address <> FirstAddress choixserge.Select Else MsgBox Quoi & " pas trouvé ...", vbCritical End If End With