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
MichDenis
Un exemple :
" Déclaration du tableau 10 lignes, 1 colonne. Dim S(1 To 10, 1 To 1)
'boucle pour remplir le tableau For a = 1 To UBound(S, 1) For b = 1 To UBound(S, 2) S(a, b) = "A,G,AM,AO" Next Next 'Pour copier le tableau dans une plage de cellules Range("B1").Resize(UBound(S, 1), UBound(S, 2)) = S
"Alfred WALLACE" a écrit dans le message de news:
Bonjour
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO
je doudrais récupérer dans un tableau LST_COLS les 4 (dans mon exemple) valeurs (toujours séparées par une ",")
puis je voudrais faire une boucle
entre Lbound(lst_cols,1) et Ubound(lst_cols,1)
me positionner à la colonne , puis la supprimer en totalité.
Merci de votre aide.
José
Un exemple :
" Déclaration du tableau 10 lignes, 1 colonne.
Dim S(1 To 10, 1 To 1)
'boucle pour remplir le tableau
For a = 1 To UBound(S, 1)
For b = 1 To UBound(S, 2)
S(a, b) = "A,G,AM,AO"
Next
Next
'Pour copier le tableau dans une plage de cellules
Range("B1").Resize(UBound(S, 1), UBound(S, 2)) = S
"Alfred WALLACE" <jose6a@gmail.com> a écrit dans le message de news:
1164641362.148213.316930@n67g2000cwd.googlegroups.com...
Bonjour
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères
suivants : A,G,AM,AO
je doudrais récupérer dans un tableau LST_COLS les 4 (dans mon
exemple) valeurs (toujours séparées par une ",")
puis je voudrais faire une boucle
entre Lbound(lst_cols,1) et Ubound(lst_cols,1)
me positionner à la colonne , puis la supprimer en totalité.
" Déclaration du tableau 10 lignes, 1 colonne. Dim S(1 To 10, 1 To 1)
'boucle pour remplir le tableau For a = 1 To UBound(S, 1) For b = 1 To UBound(S, 2) S(a, b) = "A,G,AM,AO" Next Next 'Pour copier le tableau dans une plage de cellules Range("B1").Resize(UBound(S, 1), UBound(S, 2)) = S
"Alfred WALLACE" a écrit dans le message de news:
Bonjour
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO
je doudrais récupérer dans un tableau LST_COLS les 4 (dans mon exemple) valeurs (toujours séparées par une ",")
puis je voudrais faire une boucle
entre Lbound(lst_cols,1) et Ubound(lst_cols,1)
me positionner à la colonne , puis la supprimer en totalité.
Merci de votre aide.
José
Alfred WALLACE
Un exemple : " Déclaration du tableau 10 lignes, 1 colonne. Dim S(1 To 10, 1 To 1)
'boucle pour remplir le tableau For a = 1 To UBound(S, 1) For b = 1 To UBound(S, 2) S(a, b) = "A,G,AM,AO" Next Next 'Pour copier le tableau dans une plage de cellules Range("B1").Resize(UBound(S, 1), UBound(S, 2)) = S
Bonjour MichDenis, peux tu m'en dire un peu plus sur ton code ?
1) tu crées un tableau à 2 dimension : dim1 va de 1 à 10 éléments, et la dim2 n'a qu'un seul élément.
2) ensuite tu boucles S(1, 1) = "A,G,AM,AO" S(2, 1) = "A,G,AM,AO" S(3, 1) = "A,G,AM,AO" etc jusqu'à S(10, 1) = "A,G,AM,AO"
moi, ce que je recherche c'est plutot
S(1) = "A" S(2) = "G" S(3) = "AM" S(4) = "AO"
donc, je ne pense pas que la première partie de ton exemple corresponde à ce que je souhaite faire.
Merci pour ton aide.
José
Un exemple :
" Déclaration du tableau 10 lignes, 1 colonne.
Dim S(1 To 10, 1 To 1)
'boucle pour remplir le tableau
For a = 1 To UBound(S, 1)
For b = 1 To UBound(S, 2)
S(a, b) = "A,G,AM,AO"
Next
Next
'Pour copier le tableau dans une plage de cellules
Range("B1").Resize(UBound(S, 1), UBound(S, 2)) = S
Bonjour MichDenis,
peux tu m'en dire un peu plus sur ton code ?
1) tu crées un tableau à 2 dimension : dim1 va de 1 à 10 éléments,
et la dim2 n'a qu'un seul
élément.
2) ensuite tu boucles
S(1, 1) = "A,G,AM,AO"
S(2, 1) = "A,G,AM,AO"
S(3, 1) = "A,G,AM,AO"
etc jusqu'à
S(10, 1) = "A,G,AM,AO"
moi, ce que je recherche c'est plutot
S(1) = "A"
S(2) = "G"
S(3) = "AM"
S(4) = "AO"
donc, je ne pense pas que la première partie de ton exemple
corresponde
à ce que je souhaite faire.
Un exemple : " Déclaration du tableau 10 lignes, 1 colonne. Dim S(1 To 10, 1 To 1)
'boucle pour remplir le tableau For a = 1 To UBound(S, 1) For b = 1 To UBound(S, 2) S(a, b) = "A,G,AM,AO" Next Next 'Pour copier le tableau dans une plage de cellules Range("B1").Resize(UBound(S, 1), UBound(S, 2)) = S
Bonjour MichDenis, peux tu m'en dire un peu plus sur ton code ?
1) tu crées un tableau à 2 dimension : dim1 va de 1 à 10 éléments, et la dim2 n'a qu'un seul élément.
2) ensuite tu boucles S(1, 1) = "A,G,AM,AO" S(2, 1) = "A,G,AM,AO" S(3, 1) = "A,G,AM,AO" etc jusqu'à S(10, 1) = "A,G,AM,AO"
moi, ce que je recherche c'est plutot
S(1) = "A" S(2) = "G" S(3) = "AM" S(4) = "AO"
donc, je ne pense pas que la première partie de ton exemple corresponde à ce que je souhaite faire.
Merci pour ton aide.
José
AV
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO moi, ce que je recherche c'est plutot S(1) = "A" S(2) = "G"
S = Split([COLONNES_A_EFFACER], ",") MsgBox S(1)
?? AV
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères
suivants : A,G,AM,AO
moi, ce que je recherche c'est plutot
S(1) = "A"
S(2) = "G"
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO moi, ce que je recherche c'est plutot S(1) = "A" S(2) = "G"
S = Split([COLONNES_A_EFFACER], ",") MsgBox S(1)
?? AV
Alfred WALLACE
Merci AV, en parcourant le forum, j'ai effectivement découvert la fonction SPLIT, laquelle d'ailleurs utilise le separateur par defaut 'espace'
Donc, je peux mettre dans ma zone nommée COLONNES_A_EFFACER "a g h fi" et arr = split(COLONNES_A_EFFACER) va me generer un tableau arr de 4 valeurs (de 0 à 3)
PAR CONTRE,
je n'arrive pas à faire une multiselection des colonnes a:a et g:g et h:h et fi:fi pour pouvoir les effacer d'un coup.
Est-ce possible d'après toi ?
Merci
José
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO moi, ce que je recherche c'est plutot S(1) = "A" S(2) = "G"
S = Split([COLONNES_A_EFFACER], ",") MsgBox S(1)
?? AV
Merci AV,
en parcourant le forum, j'ai effectivement découvert la fonction
SPLIT, laquelle
d'ailleurs utilise le separateur par defaut 'espace'
Donc, je peux mettre dans ma zone nommée COLONNES_A_EFFACER "a g h
fi"
et arr = split(COLONNES_A_EFFACER)
va me generer un tableau arr de 4 valeurs (de 0 à 3)
PAR CONTRE,
je n'arrive pas à faire une multiselection des colonnes
a:a et g:g et h:h et fi:fi pour pouvoir les effacer d'un coup.
Est-ce possible d'après toi ?
Merci
José
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères
suivants : A,G,AM,AO
moi, ce que je recherche c'est plutot
S(1) = "A"
S(2) = "G"
Merci AV, en parcourant le forum, j'ai effectivement découvert la fonction SPLIT, laquelle d'ailleurs utilise le separateur par defaut 'espace'
Donc, je peux mettre dans ma zone nommée COLONNES_A_EFFACER "a g h fi" et arr = split(COLONNES_A_EFFACER) va me generer un tableau arr de 4 valeurs (de 0 à 3)
PAR CONTRE,
je n'arrive pas à faire une multiselection des colonnes a:a et g:g et h:h et fi:fi pour pouvoir les effacer d'un coup.
Est-ce possible d'après toi ?
Merci
José
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO moi, ce que je recherche c'est plutot S(1) = "A" S(2) = "G"
S = Split([COLONNES_A_EFFACER], ",") MsgBox S(1)
?? AV
AV
Reprenons.....
Tu as une cellule nommée "COLONNES_A_EFFACER" contenant par exemple ce type de chaîne : A,G,AM,AO Tu souhaites sélectionner(supprimer) les colonnes entières correspondant à chacun des éléments de la chaîne :
Sub zzzz() S = Split([COLONNES_A_EFFACER], ",") For i = 0 To UBound(S) ch = ch & S(i) & ":" & S(i) & "," Next i Range(Left(ch, Len(ch) - 1)).Select 'ou Delete End Sub
AV
Reprenons.....
Tu as une cellule nommée "COLONNES_A_EFFACER" contenant par exemple ce type de
chaîne :
A,G,AM,AO
Tu souhaites sélectionner(supprimer) les colonnes entières correspondant à
chacun des éléments de la chaîne :
Sub zzzz()
S = Split([COLONNES_A_EFFACER], ",")
For i = 0 To UBound(S)
ch = ch & S(i) & ":" & S(i) & ","
Next i
Range(Left(ch, Len(ch) - 1)).Select 'ou Delete
End Sub
Tu as une cellule nommée "COLONNES_A_EFFACER" contenant par exemple ce type de chaîne : A,G,AM,AO Tu souhaites sélectionner(supprimer) les colonnes entières correspondant à chacun des éléments de la chaîne :
Sub zzzz() S = Split([COLONNES_A_EFFACER], ",") For i = 0 To UBound(S) ch = ch & S(i) & ":" & S(i) & "," Next i Range(Left(ch, Len(ch) - 1)).Select 'ou Delete End Sub
AV
Garette
Bonjour,
Sub Test() arr = Split(Range("COLONNES_A_EFFACER")) For i = 0 To UBound(arr) Columns(arr(i)).ClearContents Next End Sub
Bonjour,
Sub Test()
arr = Split(Range("COLONNES_A_EFFACER"))
For i = 0 To UBound(arr)
Columns(arr(i)).ClearContents
Next
End Sub
Sub Test() arr = Split(Range("COLONNES_A_EFFACER")) For i = 0 To UBound(arr) Columns(arr(i)).ClearContents Next End Sub
MichDenis
Seulement pour le plaisir, ceci aussi est possible
Sub zzzz() S = Split(Range("COLONNES_A_EFFACER"), ",") For i = UBound(S) To 0 Step -1 With Range(S(i) & ":" & S(i)).EntireColumn .Delete End With Next End Sub
;-)
"Alfred WALLACE" a écrit dans le message de news:
Merci AV, en parcourant le forum, j'ai effectivement découvert la fonction SPLIT, laquelle d'ailleurs utilise le separateur par defaut 'espace'
Donc, je peux mettre dans ma zone nommée COLONNES_A_EFFACER "a g h fi" et arr = split(COLONNES_A_EFFACER) va me generer un tableau arr de 4 valeurs (de 0 à 3)
PAR CONTRE,
je n'arrive pas à faire une multiselection des colonnes a:a et g:g et h:h et fi:fi pour pouvoir les effacer d'un coup.
Est-ce possible d'après toi ?
Merci
José
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO moi, ce que je recherche c'est plutot S(1) = "A" S(2) = "G"
S = Split([COLONNES_A_EFFACER], ",") MsgBox S(1)
?? AV
Seulement pour le plaisir, ceci aussi est possible
Sub zzzz()
S = Split(Range("COLONNES_A_EFFACER"), ",")
For i = UBound(S) To 0 Step -1
With Range(S(i) & ":" & S(i)).EntireColumn
.Delete
End With
Next
End Sub
;-)
"Alfred WALLACE" <jose6a@gmail.com> a écrit dans le message de news:
1164720594.167387.7640@80g2000cwy.googlegroups.com...
Merci AV,
en parcourant le forum, j'ai effectivement découvert la fonction
SPLIT, laquelle
d'ailleurs utilise le separateur par defaut 'espace'
Donc, je peux mettre dans ma zone nommée COLONNES_A_EFFACER "a g h
fi"
et arr = split(COLONNES_A_EFFACER)
va me generer un tableau arr de 4 valeurs (de 0 à 3)
PAR CONTRE,
je n'arrive pas à faire une multiselection des colonnes
a:a et g:g et h:h et fi:fi pour pouvoir les effacer d'un coup.
Est-ce possible d'après toi ?
Merci
José
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères
suivants : A,G,AM,AO
moi, ce que je recherche c'est plutot
S(1) = "A"
S(2) = "G"
Seulement pour le plaisir, ceci aussi est possible
Sub zzzz() S = Split(Range("COLONNES_A_EFFACER"), ",") For i = UBound(S) To 0 Step -1 With Range(S(i) & ":" & S(i)).EntireColumn .Delete End With Next End Sub
;-)
"Alfred WALLACE" a écrit dans le message de news:
Merci AV, en parcourant le forum, j'ai effectivement découvert la fonction SPLIT, laquelle d'ailleurs utilise le separateur par defaut 'espace'
Donc, je peux mettre dans ma zone nommée COLONNES_A_EFFACER "a g h fi" et arr = split(COLONNES_A_EFFACER) va me generer un tableau arr de 4 valeurs (de 0 à 3)
PAR CONTRE,
je n'arrive pas à faire une multiselection des colonnes a:a et g:g et h:h et fi:fi pour pouvoir les effacer d'un coup.
Est-ce possible d'après toi ?
Merci
José
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO moi, ce que je recherche c'est plutot S(1) = "A" S(2) = "G"
S = Split([COLONNES_A_EFFACER], ",") MsgBox S(1)
?? AV
Alfred WALLACE
Merci à tous pour vos exemples !!!
Voici ce que j'ai fait :
arr = Split([parametres!LST_COLS_SUPPR])
U = UBound(arr, 1) : L = LBound(arr, 1)
ActiveCell.Select
' là je récupère et selectionne la première lettre (donc la 1ere colonne) Set Plage = Range(arr(0) & ":" & arr(0)): Plage.Select
For I = l + 1 To u colonne = arr(I) & ":" & arr(I) Set Plage = Union(Plage, Range(colonne)) Plage.Select Next ' j'efface tout ce qui est selectionné Plage.EntireColumn.Delete
Set Plage = Nothing Set arr = Nothing
Merci encore !
José
Seulement pour le plaisir, ceci aussi est possible
Sub zzzz() S = Split(Range("COLONNES_A_EFFACER"), ",") For i = UBound(S) To 0 Step -1 With Range(S(i) & ":" & S(i)).EntireColumn .Delete End With Next End Sub
;-)
"Alfred WALLACE" a écrit dans le message de news:
Merci AV, en parcourant le forum, j'ai effectivement découvert la fonction SPLIT, laquelle d'ailleurs utilise le separateur par defaut 'espace'
Donc, je peux mettre dans ma zone nommée COLONNES_A_EFFACER "a g h fi" et arr = split(COLONNES_A_EFFACER) va me generer un tableau arr de 4 valeurs (de 0 à 3)
PAR CONTRE,
je n'arrive pas à faire une multiselection des colonnes a:a et g:g et h:h et fi:fi pour pouvoir les effacer d'un coup.
Est-ce possible d'après toi ?
Merci
José
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO moi, ce que je recherche c'est plutot S(1) = "A" S(2) = "G"
S = Split([COLONNES_A_EFFACER], ",") MsgBox S(1)
?? AV
Merci à tous pour vos exemples !!!
Voici ce que j'ai fait :
arr = Split([parametres!LST_COLS_SUPPR])
U = UBound(arr, 1) : L = LBound(arr, 1)
ActiveCell.Select
' là je récupère et selectionne la première lettre (donc la 1ere
colonne)
Set Plage = Range(arr(0) & ":" & arr(0)): Plage.Select
For I = l + 1 To u
colonne = arr(I) & ":" & arr(I)
Set Plage = Union(Plage, Range(colonne))
Plage.Select
Next
' j'efface tout ce qui est selectionné
Plage.EntireColumn.Delete
Set Plage = Nothing
Set arr = Nothing
Merci encore !
José
Seulement pour le plaisir, ceci aussi est possible
Sub zzzz()
S = Split(Range("COLONNES_A_EFFACER"), ",")
For i = UBound(S) To 0 Step -1
With Range(S(i) & ":" & S(i)).EntireColumn
.Delete
End With
Next
End Sub
;-)
"Alfred WALLACE" <jose6a@gmail.com> a écrit dans le message de news:
1164720594.167387.7640@80g2000cwy.googlegroups.com...
Merci AV,
en parcourant le forum, j'ai effectivement découvert la fonction
SPLIT, laquelle
d'ailleurs utilise le separateur par defaut 'espace'
Donc, je peux mettre dans ma zone nommée COLONNES_A_EFFACER "a g h
fi"
et arr = split(COLONNES_A_EFFACER)
va me generer un tableau arr de 4 valeurs (de 0 à 3)
PAR CONTRE,
je n'arrive pas à faire une multiselection des colonnes
a:a et g:g et h:h et fi:fi pour pouvoir les effacer d'un coup.
Est-ce possible d'après toi ?
Merci
José
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères
suivants : A,G,AM,AO
moi, ce que je recherche c'est plutot
S(1) = "A"
S(2) = "G"
' là je récupère et selectionne la première lettre (donc la 1ere colonne) Set Plage = Range(arr(0) & ":" & arr(0)): Plage.Select
For I = l + 1 To u colonne = arr(I) & ":" & arr(I) Set Plage = Union(Plage, Range(colonne)) Plage.Select Next ' j'efface tout ce qui est selectionné Plage.EntireColumn.Delete
Set Plage = Nothing Set arr = Nothing
Merci encore !
José
Seulement pour le plaisir, ceci aussi est possible
Sub zzzz() S = Split(Range("COLONNES_A_EFFACER"), ",") For i = UBound(S) To 0 Step -1 With Range(S(i) & ":" & S(i)).EntireColumn .Delete End With Next End Sub
;-)
"Alfred WALLACE" a écrit dans le message de news:
Merci AV, en parcourant le forum, j'ai effectivement découvert la fonction SPLIT, laquelle d'ailleurs utilise le separateur par defaut 'espace'
Donc, je peux mettre dans ma zone nommée COLONNES_A_EFFACER "a g h fi" et arr = split(COLONNES_A_EFFACER) va me generer un tableau arr de 4 valeurs (de 0 à 3)
PAR CONTRE,
je n'arrive pas à faire une multiselection des colonnes a:a et g:g et h:h et fi:fi pour pouvoir les effacer d'un coup.
Est-ce possible d'après toi ?
Merci
José
dans une cellule nommée COLONNES_A_EFFACER j'ai les caractères suivants : A,G,AM,AO moi, ce que je recherche c'est plutot S(1) = "A" S(2) = "G"