Inverser plages sur sélection cellules
Résolu
Bonsoir toutes et tous ! :)
J'aimerais pouvoir inverser deux plages en sélectionnant deux cellules (permettant d'identifier les plages mais n'en faisant pas partie), sauf que ces plages font parti d'un tableau entier (voir fichier)
L'idée est de pouvoir inverser deux enfants en sélectionnant le numéro du premier enfant (de 1 à 8) d'un tableau (de 1 à 8) PUIS faire l'inversion à la deuxième sélection (du deuxième enfant).
Peut-être y a-t-il plus simple, plus pratique, plus efficace ou moins contraignant ?
Je suis parvenu à inverser deux cellules. Mais autant dire que là je suis loin du résultat voulu.
S'il fallait partir sur cette macro, je n'ai même pas réussi à inverser deux plages bien définies lol
Ça fonctionne, mais bon, je suis loin ^^
Ne fonctionne pas :/
Une fois de plus, merci beaucoup pour votre aide :)
Le tableau extrait : https://www.cjoint.com/c/HIetHpFnYBe
Le fichier final dans la feuille "Tableau baignade" : https://www.cjoint.com/c/HIetQNPnege
--
Bien à vous,
Naï
ps: je surveille tous mes sujets non résolus, si solution vous avez, je la lirais à coup sûr :)
J'aimerais pouvoir inverser deux plages en sélectionnant deux cellules (permettant d'identifier les plages mais n'en faisant pas partie), sauf que ces plages font parti d'un tableau entier (voir fichier)
L'idée est de pouvoir inverser deux enfants en sélectionnant le numéro du premier enfant (de 1 à 8) d'un tableau (de 1 à 8) PUIS faire l'inversion à la deuxième sélection (du deuxième enfant).
Peut-être y a-t-il plus simple, plus pratique, plus efficace ou moins contraignant ?
Je suis parvenu à inverser deux cellules. Mais autant dire que là je suis loin du résultat voulu.
S'il fallait partir sur cette macro, je n'ai même pas réussi à inverser deux plages bien définies lol
Sub inverser_enfants()
Dim temporaire As String
temporaire = Range("B6").Value
Range("B6").Value = Range("J6").Value
Range("J6").Value = temporaire
End Sub
Ça fonctionne, mais bon, je suis loin ^^
Sub inverser_enfants()
Dim temporaire As String
temporaire = Range("B6:G6").Value
Range("B6:G6").Value = Range("J6:O6").Value
Range("J6:O6").Value = temporaire
End Sub
Ne fonctionne pas :/
Une fois de plus, merci beaucoup pour votre aide :)
Le tableau extrait : https://www.cjoint.com/c/HIetHpFnYBe
Le fichier final dans la feuille "Tableau baignade" : https://www.cjoint.com/c/HIetQNPnege
--
Bien à vous,
Naï
ps: je surveille tous mes sujets non résolus, si solution vous avez, je la lirais à coup sûr :)
1 réponse
-
Contributeurbonsoir, et en faisant
Dim temporaire As Variant
?
je ne comprends pas ce que sont les deux fichiers que tu partages. que signifie "tableau extrait"?
"Ne fonctionne pas": message d'erreur, comportement inattendu?-
L'idée était de ne pas envoyer le gros fichier (fichier complet), mais finalement j'ai pensé que ce serait probablement plus clair de le voir dans son ensemble ;)
bonsoir, et en faisantDim temporaire As Variant
?
Ça marche :D
Mais uniquement ces deux plages du coup.
Il faudrait que je puisse sélectionner les enfants l'un après l'autre (en utilisant les numéros par exemple) :) -
Contributeur@Naitu pourrais par exemple sélectionner les deux enfants (click et ctrl-click), puis lancer une macro qui inverse les deux.
-
C'est la solution (temporaire) que je vais utiliser ^^
En attendant de trouver mieux :)
Le problème réside dans le fait que je partage le fichier et que je le souhaite simple (je le trouve déjà pas mal compliqué :s).
J'envisage un fichier d'aide (me suis renseigné, et c'est pas si simple lol).
Si quelqu'un a une meilleure solution, je suis preneur :) -
Contributeur@Naiune autre solution, à toi de dire si elle est préférable: en t'inspirant de ce que tu fais pour les ajouts et suppressions, ajouter une case "échange" devant chaque ligne de tableau. si l'utilisateur clique successivement deux cases échange, cela déclenche l'échange.
-
-