Macro Tableau avec diagonale différente
Fermé
doggjamel
Messages postés
6
Date d'inscription
mercredi 13 mars 2013
Statut
Membre
Dernière intervention
25 mars 2013
-
23 mars 2013 à 14:30
eriiic Messages postés 24513 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 mars 2023 - 25 mars 2013 à 19:06
eriiic Messages postés 24513 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 mars 2023 - 25 mars 2013 à 19:06
A voir également:
- Macro Tableau avec diagonale différente
- Tableau croisé dynamique - Guide
- Macro logiciel - Télécharger - Organisation
- Tableau ascii - Guide
- Macro recorder - Télécharger - Confidentialité
- Afficher un tableau en c - Forum C
1 réponse
eriiic
Messages postés
24513
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 mars 2023
7 168
23 mars 2013 à 15:49
23 mars 2013 à 15:49
Bonjour,
Ca sent trop le devoir à faire ça, ce qu'on ne fait pas ici...
Démarre, et si tu as une question précise sur excel on essaiera d'y répondre.
eric
Ca sent trop le devoir à faire ça, ce qu'on ne fait pas ici...
Démarre, et si tu as une question précise sur excel on essaiera d'y répondre.
eric
25 mars 2013 à 15:43
J'ai commencé la macro avec le cour que j'ai reçu
mais je n'arrive pas à remplir le tableau
pouvez vous m'aider
voici le code que j'ai écrit:
Sub Macro_Partiel()
'
' Macro1 Macro
'
Dim ligne As String
Dim colonne As String
Dim mot As String
Dim debut As String
ligne = Range("A1") 'Nombre de lignes
colonne = Range("B1") 'Nombre de colonnes
mot = Range("C1") 'Mot dans la diagonale
debut = Range("D1") 'Point de départ du tableau
Range("D1").Activate
For i = 1 To A1 * B1
If i = (ligne * colonne) / ligne Then
ActiveCell.Offset(0, B1).Range("A1").Select
End If
Next
End Sub
Modifié par eriiic le 25/03/2013 à 17:25
Bon début.
Sauf que typer ligne et colonne en As Long serait mieux vu que ce sont des nombres entiers.
Et vu que c'est le nombre appelle-les plutôt nbLigne et nbColonne
Essaie plutôt en faisant 2 boucles imbriquées, et à l'intérieur teste si ligne=colonne.
For lig = 0 to ... For col = 0 to .. if lig=col then ... else ... endif next col next ligeric
PS: pour mettre 5 dans la cellule B3 par exemple :
cells(3,"B")=5
ou
cells(3,2)=5 ' B= colonne 2
25 mars 2013 à 18:53
Sub Macro_Partiel()
'
' Macro1 Macro
'
Dim nbLigne As Long
Dim nbColonne As Long
Dim message As String
Dim debut As String
nbLigne = Range("A1").Value 'Nombre de lignes
nbColonne = Range("B1").Value 'Nombre de colonnes
message = Range("C1").Value 'Mot dans la diagonale
debut = Range("D1").Value 'Point de départ du tableau
debut = Range(debut).Activate
ActiveCell.Value = message
For nbLigne = 1 To nbLigne
For nbColonne = 1 To nbColonne
If nbLigne = nbColonne Then
ActiveCell.Value = message
Else
nbLigne = nbLigne + 1
nbColonne = nbColonne + 1
End If
Next nbColonne
Next nbLigne
End Sub
Le soucis c'est que lorsque je lance la macro, il ne se passe rien
Modifié par eriiic le 25/03/2013 à 19:07
For Lig = 1 To nbLigne
nbLigne = nbLigne + 1
nbColonne = nbColonne + 1
Là tu exagères, reprend ton cours sur le For et regarde ce que fait le Next
ActiveCell.Value = message : tu mets tout dans la même cellule, la cellule active.
Tu n'as pas vu mon PS ?
PS: pour mettre 5 dans la cellule B3 par exemple :
cells(3,"B")=5
ou
cells(3,2)=5 ' B= colonne 2
donc cells(lig + y,col + x)= ...
Avec x et y qui vont bien pour placer le tableau là où tu veux.
Et n'oublie pas de tester au milieu des boucles si lig=col. Si c'est vrai c'est que tu es sur la diagonale, et tu as un traitement différent selon le cas...
eric