XL 2019 Table de multiplication VBA

clemendo51

XLDnaute Nouveau
Bonjour je dois réaliser une table de multiplication en respectant plusieurs critère mais sa me dépasse complètement si vous avez des solutions je suis preneur

  • Réaliser le tableau de multiplication de 10×10 en utilisant des boucles (à vous de choisir combien de boucles) « for … next ».
  • Ajustez la dimension des cellules 11× 11carrées.
  • La couleur des chiffres de la première ligne et la première colonne est rouge.
  • La police de tous les chiffres est « Gras ».

1585819669356.png

Voici à quoi cela devra ressemblé
Merci de votre aide
 

clemendo51

XLDnaute Nouveau
Re

Tu vois que c'était pas compliqué ;)
Voici donc mon adaptation de ta proc Word pour Excel
VB:
Sub tableMultiplication()
Dim oTbl As Range, iRow As Integer, iCol As Integer
Set oTbl = Range(Cells(1, 11), Cells(11, 11))
For iRow = 1 To 10
For iCol = 1 To 10
Cells(iRow + 1, iCol + 1) = iRow * iCol
Next iCol
Next iRow
iRow = iCol = 0
For iRow = 1 To 10
Columns(1).Cells(iRow + 1) = iRow
Columns(1).Cells(iRow + 1).Font.Color = vbRed
Columns(1).Cells(iRow + 1).Font.Bold = True
Next iRow
For iCol = 1 To 10
Cells(iCol + 1) = iCol
Cells(iCol + 1).Font.Color = vbRed
Cells(iCol + 1).Font.Bold = True
Next iCol
oTbl.CurrentRegion.Borders.Weight = 2
oTbl.CurrentRegion.Columns.AutoFit
Set oTbl = Nothing
End Sub
Merci beaucoup je commence à comprendre petit à petit
 

Staple1600

XLDnaute Barbatruc
Re

Et une version légérement remaniée
VB:
Sub tableMultiplication_II()
Dim oTbl As Range, iRow As Integer, iCol As Integer
Set oTbl = Range(Cells(1, 11), Cells(11, 11))
For iRow = 1 To 10
For iCol = 1 To 10: Cells(iRow + 1, iCol + 1) = iRow * iCol: Next iCol: Next iRow
iRow = iCol = 0
For iRow = 1 To 10
    With Columns(1).Cells(iRow + 1)
        .Value = iRow: .Font.Color = vbRed: .Font.Bold = True: .Interior.Color = vbYellow
    End With
Next iRow
For iCol = 1 To 10
    With Cells(iCol + 1)
        .Value = iCol: .Font.Color = vbRed: .Font.Bold = True: .Interior.Color = vbYellow
    End With
Next iCol
oTbl.CurrentRegion.Borders.Weight = 2: oTbl.CurrentRegion.Columns.AutoFit
Set oTbl = Nothing
End Sub
Le principal effectivement c'est que tu comprennes ;)
C'est toi qui passeras le bac, pas nous.
 

Staple1600

XLDnaute Barbatruc
Re

Juste parce que confiné, et que cela m'a amusé dans VBE ;)
(pendant que ma tisane infusait)

VB:
Sub S_TABLE1600()
Dim T: [B1:K1] = [{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}]
With Application: T = .Transpose([B1:K1]): [A2:A11] = T: [B2:K11] = .WorksheetFunction.MMult(T, [B1:K1]): End With
With [A2].CurrentRegion: .Borders.Weight = 2: .Columns.AutoFit: End With
With Union([A2:A11], [B1:K1]): .Font.Bold = -1: .Interior.Color = vbYellow: End With
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

•>mapomme
Tu parles de ce type d'établissement ?

Mon gramophone à dit:

Entre ces quatre murs
Je ne sais vraiment pas quoi faire pour calmer mon ennui
Bien sûr, deux fois par jour
Un infirmier entre dans ma cellule
Pour contrôler et poinçonner mon ticket
Mais, pour passer le temps, je n'ai guère que ce souvenir
Que ce souvenir, ce souvenir

;)
 

Staple1600

XLDnaute Barbatruc
Re

Un dernière pour la route, avant que Mildred Ratched m'apporte mon sirop pour les nerfs ;)

VB:
Sub ItluM_elbaT()
With Application: [A2:A11] = [=ROW(1:11)]: [B1:K1] = [=COLUMN(A1:J1)]: [B2:K11] = .MMult([A2:A11], [B1:K1]): End With
With [A2].CurrentRegion: .Borders.Weight = 2: .Columns.AutoFit: End With
With Union([A2:A11], [B1:K1]): .Font.Bold = -1: .Interior.Color = vbYellow: End With
End Sub


PS: clemendo51, pour ton exercice, reste sur les boucles ;)
Mais si tu as des questions (pour satisfaire ta curiosité), je répondrai à tes questions sur ces lignes de code ;)
 
Dernière édition:

clemendo51

XLDnaute Nouveau
Salut du coup je fais l'exercice 2 qui est 1.
Ajustez la dimension des cellules 9×9 carrées.
2. Colorez les deux diagonales des cellules 9×9 avec une couleur en utilisant deux boucles « for … next » et le jugement « if then … end if ».
3. Colorez un quart quelconque des cellules 9×9 non diagonales avec une autre couleur en utilisant deux boucles « for … next » et le jugement « if then … end if ».
4. Copiez votre écran qui contient le bouton et les cellules colorées dans un fichier word.

j'ai commencé par ça:
Sub exercice_boucles()

Const NB_CASES As Integer = 18 'Nombre de cellules à colorer

For l = 1 To NB_CASES 'l => n° ligne

If l Mod 2 = 0 Then
Cells("A1,B2,C3,D4,E5,F6,G7,H8,I9").Interior.Color = RGB(200, 0, 0) 'Rouge

Else
Cells("A2,A3,A4,A5,A6,A7,A8,A9").Interior.Color = RGB(255, 255, 255) 'Blanc
Cells("B1,B3,B4,B5,B6,B7,B8,B9").Interior.Color = RGB(255, 255, 255) 'Blanc
Cells("C1,C2,C4,C5,C6,C7,C8,C9").Interior.Color = RGB(255, 255, 255) 'Blanc
Cells("D1,D2,D3,D5,D6,D7,D8,D9").Interior.Color = RGB(255, 255, 255) 'Blanc
Cells("E1,E2,E3,E4,E6,E7,E8,E9").Interior.Color = RGB(255, 255, 255) 'Blanc
Cells("F1,F2,F3,F4,F5,F7,F8,F9").Interior.Color = RGB(255, 255, 255) 'Blanc
Cells("G1,G2,G3,G4,G5,G6,G8,G9").Interior.Color = RGB(255, 255, 255) 'Blanc
Cells("H1,H2,H3,H4,H5,H6,H7,H9").Interior.Color = RGB(255, 255, 255) 'Blanc
Cells("I1,I2,I3,I4,I5,I6,I7,I8").Interior.Color = RGB(255, 255, 255) 'Blanc

End If

Next

End Sub

Comment je peux lui dire telle cellule je la veux en cette couleurs et telle cellule en une autre couleurs ainsi de suite ?

Merci
 

Pièces jointes

  • exo2.png
    exo2.png
    11.1 KB · Affichages: 7

shayat

XLDnaute Nouveau
bonjour Clemendo,

ton exercice est juste basique et a pour objet de t'aider à développer tes compétences: j'imagine que cela doit servir dans le domaine que tu as choisi d'étudier... sinon on ne te le demanderait pas !

T'apporter l'a réponse "tout cuit" serait une grave erreur: je ne cautionne pas l'incompétence.

Viens me chercher avec un truc à toi cohérent qui fonctionne déjà au moins partiellement et on peut voir ensemble comment améliorer. L'algorithme est imposé : donc une réflexion de moins pour toi (plutôt cool non ?). Concernant la syntaxe VBA et le debug tu as d'innombrables sources Internet sur le VBA si ton cours n'est pas assez explicite….

A bon entendeur !
 

Staple1600

XLDnaute Barbatruc
Bonjour shayat (et bienvenue sur le forum)

The professor, I presume?

Et d'autres XLDnautes ont précisé à clemendo51 que le principal c'est qu'il sache faire seul l'exercice (et/ou comprenne et sache utliser/adapter les différents codes VBA postés dans ce fil)

NB: Pour ce qui me concerne, j'ai volontairement fais du hors-sujet.
Pas de boucle dans mes différents bout de code.
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
461

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87