Un sympathique personne de ce forum m'a écrit la macro "tt" Excel
suivante (voir + bas).
En gros, cette macro mélange au hasard les cellules sélectionnées
avec la souris.
Plutôt que de les sélectionner avec la souris, je souhaite indiquer
directement dans ce source le "rectangle" ou le "carré" de cellules
choisi.
Exemple : Les cellules dans le "rectangle" B5 à D12.
Comment modifier ce source en conséquence ?
Merci pour votre aide,
Bien Cordialement,
Christian
---------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Call tt
End Sub
Sub tt()
ReDim t(0)
total = 0
For i = 1 To Selection.Areas.Count
For j = 1 To Selection.Areas(i).Count
'Création du tableau t() contenant les addresses des cellules de la sélection
total = total + 1
ReDim Preserve t(total)
t(total) = Selection.Areas(i)(j).AddressLocal(0, 0)
Next
Next
r = total
For i = 1 To Selection.Areas.Count
For j = 1 To Selection.Areas(i).Count
'Echanger les valeurs de 2 adresses
temp = Selection.Areas(i)(j).Value
a = t(Int((r * Rnd) + 1))
Selection.Areas(i)(j).Value = Range(a).Value
Range(a).Value = temp
Next
Next
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
JLuc
nospam avait soumis l'idée :
Bonjour à tous,
Un sympathique personne de ce forum m'a écrit la macro "tt" Excel suivante (voir + bas).
En gros, cette macro mélange au hasard les cellules sélectionnées avec la souris.
Plutôt que de les sélectionner avec la souris, je souhaite indiquer directement dans ce source le "rectangle" ou le "carré" de cellules choisi.
Exemple : Les cellules dans le "rectangle" B5 à D12.
Comment modifier ce source en conséquence ?
Merci pour votre aide,
Bien Cordialement,
Christian
---------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) ' rajoute :
Range("B5:D12").Select ' Attention !! a chaque fois que tu va te deplacer dans la feuille, cette macro s'execute 8-o Call tt End Sub
Sub tt() ReDim t(0) total = 0
For i = 1 To Selection.Areas.Count For j = 1 To Selection.Areas(i).Count 'Création du tableau t() contenant les addresses des cellules de la sélection total = total + 1 ReDim Preserve t(total) t(total) = Selection.Areas(i)(j).AddressLocal(0, 0) Next Next
r = total
For i = 1 To Selection.Areas.Count For j = 1 To Selection.Areas(i).Count 'Echanger les valeurs de 2 adresses temp = Selection.Areas(i)(j).Value a = t(Int((r * Rnd) + 1)) Selection.Areas(i)(j).Value = Range(a).Value Range(a).Value = temp Next Next End Sub
-- JLuc
nospam avait soumis l'idée :
Bonjour à tous,
Un sympathique personne de ce forum m'a écrit la macro "tt" Excel
suivante (voir + bas).
En gros, cette macro mélange au hasard les cellules sélectionnées
avec la souris.
Plutôt que de les sélectionner avec la souris, je souhaite indiquer
directement dans ce source le "rectangle" ou le "carré" de cellules
choisi.
Exemple : Les cellules dans le "rectangle" B5 à D12.
Comment modifier ce source en conséquence ?
Merci pour votre aide,
Bien Cordialement,
Christian
---------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
' rajoute :
Range("B5:D12").Select
' Attention !! a chaque fois que tu va te deplacer dans la feuille,
cette macro s'execute 8-o
Call tt
End Sub
Sub tt()
ReDim t(0)
total = 0
For i = 1 To Selection.Areas.Count
For j = 1 To Selection.Areas(i).Count
'Création du tableau t() contenant les addresses des cellules de la
sélection
total = total + 1
ReDim Preserve t(total)
t(total) = Selection.Areas(i)(j).AddressLocal(0, 0)
Next
Next
r = total
For i = 1 To Selection.Areas.Count
For j = 1 To Selection.Areas(i).Count
'Echanger les valeurs de 2 adresses
temp = Selection.Areas(i)(j).Value
a = t(Int((r * Rnd) + 1))
Selection.Areas(i)(j).Value = Range(a).Value
Range(a).Value = temp
Next
Next
End Sub
Un sympathique personne de ce forum m'a écrit la macro "tt" Excel suivante (voir + bas).
En gros, cette macro mélange au hasard les cellules sélectionnées avec la souris.
Plutôt que de les sélectionner avec la souris, je souhaite indiquer directement dans ce source le "rectangle" ou le "carré" de cellules choisi.
Exemple : Les cellules dans le "rectangle" B5 à D12.
Comment modifier ce source en conséquence ?
Merci pour votre aide,
Bien Cordialement,
Christian
---------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) ' rajoute :
Range("B5:D12").Select ' Attention !! a chaque fois que tu va te deplacer dans la feuille, cette macro s'execute 8-o Call tt End Sub
Sub tt() ReDim t(0) total = 0
For i = 1 To Selection.Areas.Count For j = 1 To Selection.Areas(i).Count 'Création du tableau t() contenant les addresses des cellules de la sélection total = total + 1 ReDim Preserve t(total) t(total) = Selection.Areas(i)(j).AddressLocal(0, 0) Next Next
r = total
For i = 1 To Selection.Areas.Count For j = 1 To Selection.Areas(i).Count 'Echanger les valeurs de 2 adresses temp = Selection.Areas(i)(j).Value a = t(Int((r * Rnd) + 1)) Selection.Areas(i)(j).Value = Range(a).Value Range(a).Value = temp Next Next End Sub
-- JLuc
docm
Bonjour.
Crée un objet Range contenant tes cellules. Par exemple: Set Rectangle = Range("A1:C4")
Remplace dans la procédure TT le mot Selection par le mot Rectangle. Ce qui donnera ceci:
Sub tt() ReDim t(0) total = 0 Set Rectangle = Range("A1:C4") For i = 1 To Rectangle.Areas.Count For j = 1 To Rectangle.Areas(i).Count 'Création du tableau t() contenant les addresses des cellules de l'objet Rectangle total = total + 1 ReDim Preserve t(total) t(total) = Rectangle.Areas(i)(j).AddressLocal(0, 0) Next Next
r = total
For i = 1 To Rectangle.Areas.Count For j = 1 To Rectangle.Areas(i).Count 'Echanger les valeurs de 2 adresses temp = Rectangle.Areas(i)(j).Value a = t(Int((r * Rnd) + 1)) Rectangle.Areas(i)(j).Value = Range(a).Value Range(a).Value = temp Next Next End Sub
docm
"nospam" a écrit dans le message de news:
Bonjour à tous,
Un sympathique personne de ce forum m'a écrit la macro "tt" Excel suivante (voir + bas).
En gros, cette macro mélange au hasard les cellules sélectionnées avec la souris.
Plutôt que de les sélectionner avec la souris, je souhaite indiquer directement dans ce source le "rectangle" ou le "carré" de cellules choisi.
Exemple : Les cellules dans le "rectangle" B5 à D12.
Comment modifier ce source en conséquence ?
Merci pour votre aide,
Bien Cordialement,
Christian
---------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Call tt End Sub
Sub tt() ReDim t(0) total = 0
For i = 1 To Selection.Areas.Count For j = 1 To Selection.Areas(i).Count 'Création du tableau t() contenant les addresses des cellules de la sélection total = total + 1 ReDim Preserve t(total) t(total) = Selection.Areas(i)(j).AddressLocal(0, 0) Next Next
r = total
For i = 1 To Selection.Areas.Count For j = 1 To Selection.Areas(i).Count 'Echanger les valeurs de 2 adresses temp = Selection.Areas(i)(j).Value a = t(Int((r * Rnd) + 1)) Selection.Areas(i)(j).Value = Range(a).Value Range(a).Value = temp Next Next End Sub
Bonjour.
Crée un objet Range contenant tes cellules. Par exemple:
Set Rectangle = Range("A1:C4")
Remplace dans la procédure TT le mot Selection par le mot Rectangle.
Ce qui donnera ceci:
Sub tt()
ReDim t(0)
total = 0
Set Rectangle = Range("A1:C4")
For i = 1 To Rectangle.Areas.Count
For j = 1 To Rectangle.Areas(i).Count
'Création du tableau t() contenant les addresses des cellules de l'objet Rectangle
total = total + 1
ReDim Preserve t(total)
t(total) = Rectangle.Areas(i)(j).AddressLocal(0, 0)
Next
Next
r = total
For i = 1 To Rectangle.Areas.Count
For j = 1 To Rectangle.Areas(i).Count
'Echanger les valeurs de 2 adresses
temp = Rectangle.Areas(i)(j).Value
a = t(Int((r * Rnd) + 1))
Rectangle.Areas(i)(j).Value = Range(a).Value
Range(a).Value = temp
Next
Next
End Sub
docm
"nospam" <nospam@nospam.com> a écrit dans le message de news: OHndAL1JGHA.2900@TK2MSFTNGP14.phx.gbl...
Bonjour à tous,
Un sympathique personne de ce forum m'a écrit la macro "tt" Excel
suivante (voir + bas).
En gros, cette macro mélange au hasard les cellules sélectionnées
avec la souris.
Plutôt que de les sélectionner avec la souris, je souhaite indiquer
directement dans ce source le "rectangle" ou le "carré" de cellules
choisi.
Exemple : Les cellules dans le "rectangle" B5 à D12.
Comment modifier ce source en conséquence ?
Merci pour votre aide,
Bien Cordialement,
Christian
---------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Call tt
End Sub
Sub tt()
ReDim t(0)
total = 0
For i = 1 To Selection.Areas.Count
For j = 1 To Selection.Areas(i).Count
'Création du tableau t() contenant les addresses des cellules de la sélection
total = total + 1
ReDim Preserve t(total)
t(total) = Selection.Areas(i)(j).AddressLocal(0, 0)
Next
Next
r = total
For i = 1 To Selection.Areas.Count
For j = 1 To Selection.Areas(i).Count
'Echanger les valeurs de 2 adresses
temp = Selection.Areas(i)(j).Value
a = t(Int((r * Rnd) + 1))
Selection.Areas(i)(j).Value = Range(a).Value
Range(a).Value = temp
Next
Next
End Sub
Crée un objet Range contenant tes cellules. Par exemple: Set Rectangle = Range("A1:C4")
Remplace dans la procédure TT le mot Selection par le mot Rectangle. Ce qui donnera ceci:
Sub tt() ReDim t(0) total = 0 Set Rectangle = Range("A1:C4") For i = 1 To Rectangle.Areas.Count For j = 1 To Rectangle.Areas(i).Count 'Création du tableau t() contenant les addresses des cellules de l'objet Rectangle total = total + 1 ReDim Preserve t(total) t(total) = Rectangle.Areas(i)(j).AddressLocal(0, 0) Next Next
r = total
For i = 1 To Rectangle.Areas.Count For j = 1 To Rectangle.Areas(i).Count 'Echanger les valeurs de 2 adresses temp = Rectangle.Areas(i)(j).Value a = t(Int((r * Rnd) + 1)) Rectangle.Areas(i)(j).Value = Range(a).Value Range(a).Value = temp Next Next End Sub
docm
"nospam" a écrit dans le message de news:
Bonjour à tous,
Un sympathique personne de ce forum m'a écrit la macro "tt" Excel suivante (voir + bas).
En gros, cette macro mélange au hasard les cellules sélectionnées avec la souris.
Plutôt que de les sélectionner avec la souris, je souhaite indiquer directement dans ce source le "rectangle" ou le "carré" de cellules choisi.
Exemple : Les cellules dans le "rectangle" B5 à D12.
Comment modifier ce source en conséquence ?
Merci pour votre aide,
Bien Cordialement,
Christian
---------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Call tt End Sub
Sub tt() ReDim t(0) total = 0
For i = 1 To Selection.Areas.Count For j = 1 To Selection.Areas(i).Count 'Création du tableau t() contenant les addresses des cellules de la sélection total = total + 1 ReDim Preserve t(total) t(total) = Selection.Areas(i)(j).AddressLocal(0, 0) Next Next
r = total
For i = 1 To Selection.Areas.Count For j = 1 To Selection.Areas(i).Count 'Echanger les valeurs de 2 adresses temp = Selection.Areas(i)(j).Value a = t(Int((r * Rnd) + 1)) Selection.Areas(i)(j).Value = Range(a).Value Range(a).Value = temp Next Next End Sub