Macro avec resize pour colonnes et lignes

Le
daniel
Bonjour,
En utilisant les lignes ci-dessous, que l'on m'a donné il y a quelque temps
sur ce forum, je souhaiterais pouvoir ne sélectionner que certaines colonnes
dans le copy.

Windows("Fichier_Repartition.xls").Activate
With Sheets("Donnees")
Set MaPlage = .Range("_FilterDatabase")
End With
Ici les lignes filtrées sont sélectionnées, mais toutes les colonnes du
filtre sont sélectionnées aussi,
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).SpecialCells(xlCellTypeVisible).Copy Destination
En testant "Resize(MaPlage.columns.Count -
2).SpecialCells(xlCellTypeVisible).Select",
toutes les valeurs sont changées en VRAI ?? Le Select n'est pas adéquate
dans ce genre de code.
Ou en testant d'autres façons, mais cela ne fonctionne pas. ;-(

Quel est le code pour toutes les lignes et seulement les 5 dernières
colonnes sur les 7 du tableau ??
Par avance, merci pour vos réponses.
Bonne journée.

DanielH
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #18593461
Bonsoir.
Au lieu de :
Resize(MaPlage.columns.Count -
2).SpecialCells(xlCellTypeVisible).Select
essaie :
"Resize(,MaPlage.columns.Count -
2)..SpecialCells(xlCellTypeVisible).Select
(non testé).
Cordialement.
Daniel

Bonjour,
En utilisant les lignes ci-dessous, que l'on m'a donné il y a quelque temps
sur ce forum, je souhaiterais pouvoir ne sélectionner que certaines colonnes
dans le copy.

Windows("Fichier_Repartition.xls").Activate
With Sheets("Donnees")
Set MaPlage = .Range("_FilterDatabase")
End With
Ici les lignes filtrées sont sélectionnées, mais toutes les colonnes du
filtre sont sélectionnées aussi,
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).SpecialCells(xlCellTypeVisible).Copy Destination
En testant "Resize(MaPlage.columns.Count -
2).SpecialCells(xlCellTypeVisible).Select",
toutes les valeurs sont changées en VRAI ?? Le Select n'est pas adéquate dans
ce genre de code.
Ou en testant d'autres façons, mais cela ne fonctionne pas.... ;-(

Quel est le code pour toutes les lignes et seulement les 5 dernières colonnes
sur les 7 du tableau ??
Par avance, merci pour vos réponses.
Bonne journée.

DanielH


daniel
Le #18595031
Bonsoir,
Merci de la réponse, mais ça ne fonctionne pas.
En utilisant : Resize(,MaPlage.columns.Count -
2)..SpecialCells(xlCellTypeVisible).Select
Toutes mes cellules prennent la valeur VRAI ??
Je crains que cela est dû à l'utilisation du Select ??
Peut-être que ce serait mieux que la sélection avec 2 colonnes en moins, se
fasse dans la ligne :
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).SpecialCells(xlCellTypeVisible).Copy Destination
Par exemple :
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).Resize(MaPlage.Columns.Count - 2).SpecialCells(xlCellTypeVisible).Copy
Destination
Mais de cette façon cela ne fonctionne pas.
Ou alors le fait d'utiliser "FilterDatabase" n'autorise pas le changement du
nombre de colonnes ?
Encore merci pour la réponse.
Bonne soirée.
DanielH

"Daniel.C"
Bonsoir.
Au lieu de :
Resize(MaPlage.columns.Count - 2).SpecialCells(xlCellTypeVisible).Select
essaie :
"Resize(,MaPlage.columns.Count -
2)..SpecialCells(xlCellTypeVisible).Select
(non testé).
Cordialement.
Daniel

Bonjour,
En utilisant les lignes ci-dessous, que l'on m'a donné il y a quelque
temps sur ce forum, je souhaiterais pouvoir ne sélectionner que certaines
colonnes dans le copy.

Windows("Fichier_Repartition.xls").Activate
With Sheets("Donnees")
Set MaPlage = .Range("_FilterDatabase")
End With
Ici les lignes filtrées sont sélectionnées, mais toutes les colonnes du
filtre sont sélectionnées aussi,
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).SpecialCells(xlCellTypeVisible).Copy Destination
En testant "Resize(MaPlage.columns.Count -
2).SpecialCells(xlCellTypeVisible).Select",
toutes les valeurs sont changées en VRAI ?? Le Select n'est pas adéquate
dans ce genre de code.
Ou en testant d'autres façons, mais cela ne fonctionne pas.... ;-(

Quel est le code pour toutes les lignes et seulement les 5 dernières
colonnes sur les 7 du tableau ??
Par avance, merci pour vos réponses.
Bonne journée.

DanielH




Daniel.C
Le #18593991
Ce code est testé :

Sub test()
Dim Plage As Range
Set Plage = [_filterdatabase].Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1, Plage.Columns.Count - 2)
Plage.SpecialCells(xlCellTypeVisible).Select
End Sub

Le classeur correspondant se trouve :
http://www.cijoint.fr/cjlink.php?file=cj200902/cijpKgFUzH.xls
Daniel

Bonsoir,
Merci de la réponse, mais ça ne fonctionne pas.
En utilisant : Resize(,MaPlage.columns.Count -
2)..SpecialCells(xlCellTypeVisible).Select
Toutes mes cellules prennent la valeur VRAI ??
Je crains que cela est dû à l'utilisation du Select ??
Peut-être que ce serait mieux que la sélection avec 2 colonnes en moins, se
fasse dans la ligne :
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).SpecialCells(xlCellTypeVisible).Copy Destination
Par exemple :
MaPlage.Offset(1).Resize(MaPlage.Rows.Count - 1).Resize(MaPlage.Columns.Count
- 2).SpecialCells(xlCellTypeVisible).Copy Destination
Mais de cette façon cela ne fonctionne pas.
Ou alors le fait d'utiliser "FilterDatabase" n'autorise pas le changement du
nombre de colonnes ?
Encore merci pour la réponse.
Bonne soirée.
DanielH

"Daniel.C"
Bonsoir.
Au lieu de :
Resize(MaPlage.columns.Count - 2).SpecialCells(xlCellTypeVisible).Select
essaie :
"Resize(,MaPlage.columns.Count - 2)..SpecialCells(xlCellTypeVisible).Select
(non testé).
Cordialement.
Daniel

Bonjour,
En utilisant les lignes ci-dessous, que l'on m'a donné il y a quelque
temps sur ce forum, je souhaiterais pouvoir ne sélectionner que certaines
colonnes dans le copy.

Windows("Fichier_Repartition.xls").Activate
With Sheets("Donnees")
Set MaPlage = .Range("_FilterDatabase")
End With
Ici les lignes filtrées sont sélectionnées, mais toutes les colonnes du
filtre sont sélectionnées aussi,
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).SpecialCells(xlCellTypeVisible).Copy Destination
En testant "Resize(MaPlage.columns.Count -
2).SpecialCells(xlCellTypeVisible).Select",
toutes les valeurs sont changées en VRAI ?? Le Select n'est pas adéquate
dans ce genre de code.
Ou en testant d'autres façons, mais cela ne fonctionne pas.... ;-(

Quel est le code pour toutes les lignes et seulement les 5 dernières
colonnes sur les 7 du tableau ??
Par avance, merci pour vos réponses.
Bonne journée.

DanielH






daniel
Le #18594261
Trouvé une solution, mais moins sympa que l'initiale :

With Sheets("Donnees")
DerLign = Range("C65000").End(xlUp).Row
Set MaPlage = Range("c8:G" & DerLign)
End With

Cela oblige à figer les lettres des colonnes.

Une mieux à l'instant, tout simplement

MaPlage.Offset(1, 2).Resize(MaPlage.Rows.Count - 1,
MaPlage.Columns.Count - 2) _
.SpecialCells(xlCellTypeVisible).Copy Destination

Encore merci pour la réponse.
Bonne soirée.
DanielH

"Daniel.C"
Bonsoir.
Au lieu de :
Resize(MaPlage.columns.Count - 2).SpecialCells(xlCellTypeVisible).Select
essaie :
"Resize(,MaPlage.columns.Count -
2)..SpecialCells(xlCellTypeVisible).Select
(non testé).
Cordialement.
Daniel

Bonjour,
En utilisant les lignes ci-dessous, que l'on m'a donné il y a quelque
temps sur ce forum, je souhaiterais pouvoir ne sélectionner que certaines
colonnes dans le copy.

Windows("Fichier_Repartition.xls").Activate
With Sheets("Donnees")
Set MaPlage = .Range("_FilterDatabase")
End With
Ici les lignes filtrées sont sélectionnées, mais toutes les colonnes du
filtre sont sélectionnées aussi,
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).SpecialCells(xlCellTypeVisible).Copy Destination
En testant "Resize(MaPlage.columns.Count -
2).SpecialCells(xlCellTypeVisible).Select",
toutes les valeurs sont changées en VRAI ?? Le Select n'est pas adéquate
dans ce genre de code.
Ou en testant d'autres façons, mais cela ne fonctionne pas.... ;-(

Quel est le code pour toutes les lignes et seulement les 5 dernières
colonnes sur les 7 du tableau ??
Par avance, merci pour vos réponses.
Bonne journée.

DanielH






daniel
Le #18595351
Je n'ai pas vu votre message avant d'envoyer le précédent.
Donc merci pour votre disponibilité, et pour le principe, je vais prendre
votre code.
Bonne soirée
DanielH

"Daniel.C"
Ce code est testé :

Sub test()
Dim Plage As Range
Set Plage = [_filterdatabase].Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1, Plage.Columns.Count - 2)
Plage.SpecialCells(xlCellTypeVisible).Select
End Sub

Le classeur correspondant se trouve :
http://www.cijoint.fr/cjlink.php?file=cj200902/cijpKgFUzH.xls
Daniel

Bonsoir,
Merci de la réponse, mais ça ne fonctionne pas.
En utilisant : Resize(,MaPlage.columns.Count -
2)..SpecialCells(xlCellTypeVisible).Select
Toutes mes cellules prennent la valeur VRAI ??
Je crains que cela est dû à l'utilisation du Select ??
Peut-être que ce serait mieux que la sélection avec 2 colonnes en moins,
se fasse dans la ligne :
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).SpecialCells(xlCellTypeVisible).Copy Destination
Par exemple :
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).Resize(MaPlage.Columns.Count - 2).SpecialCells(xlCellTypeVisible).Copy
Destination
Mais de cette façon cela ne fonctionne pas.
Ou alors le fait d'utiliser "FilterDatabase" n'autorise pas le changement
du nombre de colonnes ?
Encore merci pour la réponse.
Bonne soirée.
DanielH

"Daniel.C"
Bonsoir.
Au lieu de :
Resize(MaPlage.columns.Count - 2).SpecialCells(xlCellTypeVisible).Select
essaie :
"Resize(,MaPlage.columns.Count -
2)..SpecialCells(xlCellTypeVisible).Select
(non testé).
Cordialement.
Daniel

Bonjour,
En utilisant les lignes ci-dessous, que l'on m'a donné il y a quelque
temps sur ce forum, je souhaiterais pouvoir ne sélectionner que
certaines colonnes dans le copy.

Windows("Fichier_Repartition.xls").Activate
With Sheets("Donnees")
Set MaPlage = .Range("_FilterDatabase")
End With
Ici les lignes filtrées sont sélectionnées, mais toutes les colonnes du
filtre sont sélectionnées aussi,
MaPlage.Offset(1).Resize(MaPlage.Rows.Count -
1).SpecialCells(xlCellTypeVisible).Copy Destination
En testant "Resize(MaPlage.columns.Count -
2).SpecialCells(xlCellTypeVisible).Select",
toutes les valeurs sont changées en VRAI ?? Le Select n'est pas
adéquate dans ce genre de code.
Ou en testant d'autres façons, mais cela ne fonctionne pas.... ;-(

Quel est le code pour toutes les lignes et seulement les 5 dernières
colonnes sur les 7 du tableau ??
Par avance, merci pour vos réponses.
Bonne journée.

DanielH










Publicité
Poster une réponse
Anonyme