dur, dur d'écrire une fonction!!!

  • Initiateur de la discussion Initiateur de la discussion jordi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jordi

Guest
:S salut je cherche à écrire une fonction dans VBA qui me permette d'inverser 2 colonne d'1 matrice qui n'a que 2 colonnes.
exemple:

12 21
34 -> 43
56 65


merci de m'aider rapidement...
(j'accepte tout meme les petites procédures, c'est important)
 
Re Jordi,

en début de code, je mets 'option explicit' ce qui indique à VBA que toutes les variables utilisées doivent être 'déclarées' avant utilisation

La déclaration de variable se fait avec l'instruction Dim pour dimensionnement.

quant tu vas en cellule a65536, que tu appuie simultanément sur Ctrl et flèche vers le haut, tu arrives à la dernière cellule qui a un statut différent de celle de départ (si tu pars d'une cellule non vide, quand tu fais Ctrl + flèche haut/bas/gauche ou droite, tu arrives à la dernière cellule non vide) et idem si tu pars d'une cellule vide.

Fais des essais, cela sera plus simple

donc l'instruction : nbLignes = range('a65536').End(xlUp).Row
signifie pour VBA :
- je vais en cellule a65536, (range('a65536')
- je fais Ctrl et flèche vers le haut (End xlUp)
- je récupère le numéro de ligne (Row)
- je mets ce numéro de ligne dans ma variable nbLignes

idem pour nbColonnes en se placant en IV... (iv...) qui la dernière (256ème) colonne d'une feuille excel (2puissance 8)

65536 = 2 puissance 16

Bertrand
 
:S Salut, si tu peux m'aider SEULEMENT DANS LE CAS L'ADDITION
laisse tomber le cas de la multiplication.


en fait , si tu te rapelle des matrice d'incidence et si tu vois mon dernier post, ce que je veux , c'est mettre la deuxieme matrice d'incidence en dessous de la premiere et après je veux trier la première colonne (1, 2, 3) puis trier la deuxieme colonne en fonction de la première
 
Dsl Jordi,

Mais j'ai pas compris comment tu arrives aux résultat des matrices d'incidences pour l'addition (ni pour la multi d'ailleurs)

Je comprends comment on arrive au résultat de l'addition binaire
(j'ai fait assez de calcul binaire dans mon jeune age) mail là, je sèche

Si tu veux que je t'aide, développe moi comment tu arrives au résultat et je ferai le reste

à+
Bertrand
 
Pour moi, l’addition de 2 matrices se traduit par un collage puis par un tri d’abord de la première colonne représentant les lignes, et ensuite de la deuxième colonne représentant les colonne , néanmoins celle-ci doit être trier par rapport au tri des lignes .


1ere matrice d’origine:

1 0 0
0 1 0
1 0 0

tu l'additionne à la 2eme matrice d'origine:
0 0 1
1 0 0
0 1 0

et tu obtient:
1 0 1
1 1 0
1 1 1

1ere Matrice d’incidence correspondante (qui donne les coordonnées des points autre que les 0) :
1 1
2 2
3 1
3 3

tu l'additionne à la 2eme matrice (cad tu l'as met en dessous!, je vais te montrer)
2eme matrice:
1 3
2 1
3 2

Donc tu met l'une en dessous de l'autre, ca donne:
1 1
2 2
3 1
3 3
1 3
2 1
3 2

et après tu la tri, d'abord la 1ere colonne , puis la 2eme par rapport a la 1ere:
1 1
1 3
2 1
2 2
3 1
3 2
3 3

tu vois la 1ere colonne classe 1, 2, 3
puis la 2eme classe par rapport à la 1ere, cad quand onles 1 dans la 1ere colonne , on a: 1, 3 dans la 2eme etc a continue
Si tu as d'autre questions n'hesite pas
 
Ca y est, vla le résultat
uniquement avec des fonctions si et une toute petite macro faite avec l'enregistreur de macros

à+
Bertrand [file name=matriceAdd.zip size=7598]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/matriceAdd.zip[/file]
 

Pièces jointes

Je te remercie beaucoup, c'est pas mal!
c'est vrai que j'aurai préféré une fonction plus en rapport avec VBA, mais bon on n'a pas toujours ce qu'on veut, cela dit je veux pas te culpabiliser.
Bon si jamais tu as d'autres idées concernant l'addittion ou d'autres calcul matriciel (soustraction, multiplication...)
Sinon, j'avoue que je me s'en un peu mieux en VBA, même si mon niveau de ZOP va me coller longtemps 😛
N'hesite pas à me recontactez!
Salut 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
25
Affichages
5 K
Angelzeus
A
Réponses
9
Affichages
2 K
M
Réponses
0
Affichages
2 K
MARGAR
M
Retour