Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------
Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Bonjour,
ALors voilà :Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
sert à dimensionner les variables utilisées et à initialiser les 2 tableaux
Arr et Arr1If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
teste le type de la sélection, si la sélection est une plage de cellules
(objet range, car cette sélection pourrait être par exemple un graphe, un
objet...), affecte à la variable Rg cet objet, sinon, sorte de la procédure.Application.EnableEvents = False
Application.ScreenUpdating = False
désactive la gestion des événements par les macros évenementiels et
désactive le rafraîchissement de l'écran pendant le traitement de la macro
(pour gagner du temps de traitement en général)For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Pour chaque ligne de la plage sélectionnée au moment du lancement de la
procédure (la plage Rg), remplit les colonnes H, M, N, O, P et Q (tableau
Arr) de ces lignes avec les valeurs 15, 2, 1, 0, 0 et 2 (tableau Arr1).Set Rg = Nothing
End Sub
libère de la mémoire la plage Rg et sort de la procédure...
C'est suffisamment clair ? Sinon, reviens préciser les points bloquants !
--
A+
V.Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Bonjour,
ALors voilà :
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
sert à dimensionner les variables utilisées et à initialiser les 2 tableaux
Arr et Arr1
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
teste le type de la sélection, si la sélection est une plage de cellules
(objet range, car cette sélection pourrait être par exemple un graphe, un
objet...), affecte à la variable Rg cet objet, sinon, sorte de la procédure.
Application.EnableEvents = False
Application.ScreenUpdating = False
désactive la gestion des événements par les macros évenementiels et
désactive le rafraîchissement de l'écran pendant le traitement de la macro
(pour gagner du temps de traitement en général)
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Pour chaque ligne de la plage sélectionnée au moment du lancement de la
procédure (la plage Rg), remplit les colonnes H, M, N, O, P et Q (tableau
Arr) de ces lignes avec les valeurs 15, 2, 1, 0, 0 et 2 (tableau Arr1).
Set Rg = Nothing
End Sub
libère de la mémoire la plage Rg et sort de la procédure...
C'est suffisamment clair ? Sinon, reviens préciser les points bloquants !
--
A+
V.
Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------
Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Bonjour,
ALors voilà :Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
sert à dimensionner les variables utilisées et à initialiser les 2 tableaux
Arr et Arr1If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
teste le type de la sélection, si la sélection est une plage de cellules
(objet range, car cette sélection pourrait être par exemple un graphe, un
objet...), affecte à la variable Rg cet objet, sinon, sorte de la procédure.Application.EnableEvents = False
Application.ScreenUpdating = False
désactive la gestion des événements par les macros évenementiels et
désactive le rafraîchissement de l'écran pendant le traitement de la macro
(pour gagner du temps de traitement en général)For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Pour chaque ligne de la plage sélectionnée au moment du lancement de la
procédure (la plage Rg), remplit les colonnes H, M, N, O, P et Q (tableau
Arr) de ces lignes avec les valeurs 15, 2, 1, 0, 0 et 2 (tableau Arr1).Set Rg = Nothing
End Sub
libère de la mémoire la plage Rg et sort de la procédure...
C'est suffisamment clair ? Sinon, reviens préciser les points bloquants !
--
A+
V.Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Premierment merci de m'avoir repondu aussi vite.
J'ai tout compris sauf les deux tableau Arr1 et Arr
Que signifie la commande Arr ?
Dimmensionné les variables??
MerciBonjour,
ALors voilà :Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
sert à dimensionner les variables utilisées et à initialiser les 2 tableaux
Arr et Arr1If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
teste le type de la sélection, si la sélection est une plage de cellules
(objet range, car cette sélection pourrait être par exemple un graphe, un
objet...), affecte à la variable Rg cet objet, sinon, sorte de la procédure.Application.EnableEvents = False
Application.ScreenUpdating = False
désactive la gestion des événements par les macros évenementiels et
désactive le rafraîchissement de l'écran pendant le traitement de la macro
(pour gagner du temps de traitement en général)For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Pour chaque ligne de la plage sélectionnée au moment du lancement de la
procédure (la plage Rg), remplit les colonnes H, M, N, O, P et Q (tableau
Arr) de ces lignes avec les valeurs 15, 2, 1, 0, 0 et 2 (tableau Arr1).Set Rg = Nothing
End Sub
libère de la mémoire la plage Rg et sort de la procédure...
C'est suffisamment clair ? Sinon, reviens préciser les points bloquants !
--
A+
V.Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Premierment merci de m'avoir repondu aussi vite.
J'ai tout compris sauf les deux tableau Arr1 et Arr
Que signifie la commande Arr ?
Dimmensionné les variables??
Merci
Bonjour,
ALors voilà :
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
sert à dimensionner les variables utilisées et à initialiser les 2 tableaux
Arr et Arr1
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
teste le type de la sélection, si la sélection est une plage de cellules
(objet range, car cette sélection pourrait être par exemple un graphe, un
objet...), affecte à la variable Rg cet objet, sinon, sorte de la procédure.
Application.EnableEvents = False
Application.ScreenUpdating = False
désactive la gestion des événements par les macros évenementiels et
désactive le rafraîchissement de l'écran pendant le traitement de la macro
(pour gagner du temps de traitement en général)
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Pour chaque ligne de la plage sélectionnée au moment du lancement de la
procédure (la plage Rg), remplit les colonnes H, M, N, O, P et Q (tableau
Arr) de ces lignes avec les valeurs 15, 2, 1, 0, 0 et 2 (tableau Arr1).
Set Rg = Nothing
End Sub
libère de la mémoire la plage Rg et sort de la procédure...
C'est suffisamment clair ? Sinon, reviens préciser les points bloquants !
--
A+
V.
Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------
Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Premierment merci de m'avoir repondu aussi vite.
J'ai tout compris sauf les deux tableau Arr1 et Arr
Que signifie la commande Arr ?
Dimmensionné les variables??
MerciBonjour,
ALors voilà :Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
sert à dimensionner les variables utilisées et à initialiser les 2 tableaux
Arr et Arr1If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
teste le type de la sélection, si la sélection est une plage de cellules
(objet range, car cette sélection pourrait être par exemple un graphe, un
objet...), affecte à la variable Rg cet objet, sinon, sorte de la procédure.Application.EnableEvents = False
Application.ScreenUpdating = False
désactive la gestion des événements par les macros évenementiels et
désactive le rafraîchissement de l'écran pendant le traitement de la macro
(pour gagner du temps de traitement en général)For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Pour chaque ligne de la plage sélectionnée au moment du lancement de la
procédure (la plage Rg), remplit les colonnes H, M, N, O, P et Q (tableau
Arr) de ces lignes avec les valeurs 15, 2, 1, 0, 0 et 2 (tableau Arr1).Set Rg = Nothing
End Sub
libère de la mémoire la plage Rg et sort de la procédure...
C'est suffisamment clair ? Sinon, reviens préciser les points bloquants !
--
A+
V.Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Arr est le nom de la variable. Et c'est un tableau, déclaré comme Variant
(autrement dit comme tout et n'importe quoi jusqu'à ce que la variable soit
assignée à un objet/valeur).
Array(...) permet de déclarer un ensemble fini (ou tableau) d'éléments.
Arr = Array(1, 2) crée un tableau à une dimension avec comme premier élément
1 et comme deuxième élément 2. Mais on peut rajouter autant d'éléments que
l'on veut, éléments qui pourraient même être des d'autres tableaux.
Cela dit, qu'est-ce qui te pose problème exactement ?
--
A+
V.Premierment merci de m'avoir repondu aussi vite.
J'ai tout compris sauf les deux tableau Arr1 et Arr
Que signifie la commande Arr ?
Dimmensionné les variables??
MerciBonjour,
ALors voilà :Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
sert à dimensionner les variables utilisées et à initialiser les 2 tableaux
Arr et Arr1If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
teste le type de la sélection, si la sélection est une plage de cellules
(objet range, car cette sélection pourrait être par exemple un graphe, un
objet...), affecte à la variable Rg cet objet, sinon, sorte de la procédure.Application.EnableEvents = False
Application.ScreenUpdating = False
désactive la gestion des événements par les macros évenementiels et
désactive le rafraîchissement de l'écran pendant le traitement de la macro
(pour gagner du temps de traitement en général)For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Pour chaque ligne de la plage sélectionnée au moment du lancement de la
procédure (la plage Rg), remplit les colonnes H, M, N, O, P et Q (tableau
Arr) de ces lignes avec les valeurs 15, 2, 1, 0, 0 et 2 (tableau Arr1).Set Rg = Nothing
End Sub
libère de la mémoire la plage Rg et sort de la procédure...
C'est suffisamment clair ? Sinon, reviens préciser les points bloquants !
--
A+
V.Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Arr est le nom de la variable. Et c'est un tableau, déclaré comme Variant
(autrement dit comme tout et n'importe quoi jusqu'à ce que la variable soit
assignée à un objet/valeur).
Array(...) permet de déclarer un ensemble fini (ou tableau) d'éléments.
Arr = Array(1, 2) crée un tableau à une dimension avec comme premier élément
1 et comme deuxième élément 2. Mais on peut rajouter autant d'éléments que
l'on veut, éléments qui pourraient même être des d'autres tableaux.
Cela dit, qu'est-ce qui te pose problème exactement ?
--
A+
V.
Premierment merci de m'avoir repondu aussi vite.
J'ai tout compris sauf les deux tableau Arr1 et Arr
Que signifie la commande Arr ?
Dimmensionné les variables??
Merci
Bonjour,
ALors voilà :
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
sert à dimensionner les variables utilisées et à initialiser les 2 tableaux
Arr et Arr1
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
teste le type de la sélection, si la sélection est une plage de cellules
(objet range, car cette sélection pourrait être par exemple un graphe, un
objet...), affecte à la variable Rg cet objet, sinon, sorte de la procédure.
Application.EnableEvents = False
Application.ScreenUpdating = False
désactive la gestion des événements par les macros évenementiels et
désactive le rafraîchissement de l'écran pendant le traitement de la macro
(pour gagner du temps de traitement en général)
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Pour chaque ligne de la plage sélectionnée au moment du lancement de la
procédure (la plage Rg), remplit les colonnes H, M, N, O, P et Q (tableau
Arr) de ces lignes avec les valeurs 15, 2, 1, 0, 0 et 2 (tableau Arr1).
Set Rg = Nothing
End Sub
libère de la mémoire la plage Rg et sort de la procédure...
C'est suffisamment clair ? Sinon, reviens préciser les points bloquants !
--
A+
V.
Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------
Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance
Arr est le nom de la variable. Et c'est un tableau, déclaré comme Variant
(autrement dit comme tout et n'importe quoi jusqu'à ce que la variable soit
assignée à un objet/valeur).
Array(...) permet de déclarer un ensemble fini (ou tableau) d'éléments.
Arr = Array(1, 2) crée un tableau à une dimension avec comme premier élément
1 et comme deuxième élément 2. Mais on peut rajouter autant d'éléments que
l'on veut, éléments qui pourraient même être des d'autres tableaux.
Cela dit, qu'est-ce qui te pose problème exactement ?
--
A+
V.Premierment merci de m'avoir repondu aussi vite.
J'ai tout compris sauf les deux tableau Arr1 et Arr
Que signifie la commande Arr ?
Dimmensionné les variables??
MerciBonjour,
ALors voilà :Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
sert à dimensionner les variables utilisées et à initialiser les 2 tableaux
Arr et Arr1If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
teste le type de la sélection, si la sélection est une plage de cellules
(objet range, car cette sélection pourrait être par exemple un graphe, un
objet...), affecte à la variable Rg cet objet, sinon, sorte de la procédure.Application.EnableEvents = False
Application.ScreenUpdating = False
désactive la gestion des événements par les macros évenementiels et
désactive le rafraîchissement de l'écran pendant le traitement de la macro
(pour gagner du temps de traitement en général)For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Pour chaque ligne de la plage sélectionnée au moment du lancement de la
procédure (la plage Rg), remplit les colonnes H, M, N, O, P et Q (tableau
Arr) de ces lignes avec les valeurs 15, 2, 1, 0, 0 et 2 (tableau Arr1).Set Rg = Nothing
End Sub
libère de la mémoire la plage Rg et sort de la procédure...
C'est suffisamment clair ? Sinon, reviens préciser les points bloquants !
--
A+
V.Bonjour,
Pouvez vous m'expliquez les differentes etapes de cette macro
En effet je cherche a la comprendre mais je ne trouve pas de "dictionnaire" .
--------------------------------Sub test()
Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant
Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)
If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr
Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------
Merci d'avance