VBA Excel : comment faire un sélection de N éléments en "position relative"...ex
cardise
Messages postés11Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention17 mai 2005
-
18 juin 2004 à 09:02
cardise
Messages postés11Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention17 mai 2005
-
21 juin 2004 à 10:46
Mon but est de sélectionner, dans un tableau de N lignes, le contenu d'une colonne precise
En fait, mon tab commence en C12 et s'arrête en Cells(12+N, 3). il s'étend de la colonne C à la H
Les colonnes D et E sont fusionnés.
Je souhaite trier les lignes du tab selon la colonne C dans l'ordre alphanumérique, seulement je ne peux le faire avec des colonnes "de taille différentes" ( D et E fusionnés) donc je dois les défusionner
Le tri et la défusion posent le même problème : sélectionner en relatif N éléments
J'ai essayé d'utiliser RangeSelection pour obtenir les coordonnées de la cellule extrême mais ça veut pas !
A voir également:
VBA Excel : comment faire un sélection de N éléments en "position relative"...ex
HFanny
Messages postés699Date d'inscriptionmercredi 19 février 2003StatutMembreDernière intervention13 mai 201120 18 juin 2004 à 14:28
Bonjour,
vu le peu de réponses que suscite ta question je pense que ce n'était pas clair :) .
En fait, je ne comprends pas ce que tu veux faire ...
Si tu veux sélectionner l'ensemble des cellules d'une colonne tu peux faire (je le fais sur la colonne A).
Dim celluleFin As Range
Set celluleFin = Range("A1")
While Not IsEmpty(celluleFin.Offset(1, 0))
Set celluleFin = celluleFin.Offset(1, 0)
Wend
Range("A1:" & celluleFin.Address).Select
MsgBox celluleFin.Address
J'espère que c'était la réponse à ta question ;) , sinon, réexplique ce que tu veux faire :)
cardise
Messages postés11Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention17 mai 2005 18 juin 2004 à 14:42
heu....en fait, en cherchant +, j'ai trouvé ce que je voulais,
c'était comme dans ton exemple sauf que le tab était à 5 colonnes, et que je ne savais alors pas me servir de rangeSelection et qu'une cellule avait une propriété Adress.
Mon tab devait être trié seulement certains cellules étaient fusionnées donc j'ai dû défusionner, trier puis refusionner
donc depuis voilà :
Public Sub TrierAffaire()
Dim basTab As String, basNomAff1 As String, rangeTemp1 As String, rangeTemp2 As String
Worksheets("Principal").Activate
' Scrutation du tab pour savoir son nb de lignes
Range("C12").Select
Do Until IsEmpty(Selection)
Selection.Offset(1, 0).Select
Loop
' Stockage des coordonnées nécessaires
' Coordonnées dernières cellules de la colonne fusionnée
Selection.Offset(-1, 1).Select
basNomAff1 = ActiveWindow.RangeSelection.Address
' Coordonnées "bord bas droit du tab"
Selection.Offset(0, 4).Select
basTab = ActiveWindow.RangeSelection.Address
' Défusion des cellules de la colonne "Nom de l'affaire"
Range("D12", basNomAff1).Select
Selection.MergeCells = False
' Tri des lignes du tab
Range("C12", basTab).Select
Selection.Sort Key1:=Range("C12"), Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
' (Re)fusion des cellules de la colonne "Nom de l'affaire" _ 2/2
Range("D12").Select
Do Until IsEmpty(Selection)
rangeTemp1 = ActiveWindow.RangeSelection.Address
rangeTemp2 = ActiveWindow.Selection.Offset(0, _
1).Address
Range(rangeTemp1, rangeTemp2).MergeCells = True
Selection.Offset(1, 0).Select
Loop
End Sub
là maintenan, ça va, mes pensées sont tjs chaotiques qd je les exprime mais ça fonctionne et comme avant, je dois plus chercher dans l'aide avant de renoncer :(
cardise
Messages postés11Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention17 mai 2005 21 juin 2004 à 10:46
Bah....en BTS Informatique et Réseaux pour l'Industrie et les Services techniques, on a ( que ) de la méthode ! :big)
Là maintenant, il me reste une fonction de recherche dans un tab ( pour une production P, il y a un tab des surcoûts issus des retouches que l'on a faites à cette production, et il faut y afficher la somme de ces surcoûts selon une période [ an | mois ] et la provenance [ Bureau d'étude | Assemblage | Commercial | Mise au point | Sous-traitant ] ) - je me comprends, si tu ne le peux pas, désolé ! - idée plus claire..... :blush)
Et une 2ème, toute mini, j'ai 2 tab sur une feuille :
L'un affiche les différentes affaires de l'entreprise et possède un filtre sur le numéro de l'affaire, l'autre, quand un numéro est choisi dans le filtre, doit afficher les différentes retouches de l'affaire et avoir lui aussi un filtre sur ces colonnes. ( C'est presque clair... ) Le problème est que je souhaitais utiliser un filtre automatique sur le 1er tab (affaires) qui, quand on choisirait un numéro, se désactiverait pour apparaître en suite sur le deuxième tab....mais quand il se désactive, il fait réapparaître les lignes filtrées ( Normal....) et j'y avais pas pensé :clown) , je dois donc faire le filtre moi-même style scrutation->dès que trouvé numéro, diminuer hauteur des lignes supérieures jusqu'à haut de tab, diminuer hauteur lignes inférieures jusqu'à ligne vide
pas trop dur, tout ça, avec mes données internes (tête) mais pas avec celles que je fournis............lol.........ne pas pouvoir se faire comprendre des autres sauf après une réflexion + longue que la moyenne et par écrit, c'est dur ! :sad) dans la société, tu passes à côté des sujets de discussion, - So..." I am tout seul !" %-6 + les autes défauts..... je suis bien devant un PC ! Merci, @ + !