Ecrire un texte repetitif sur 20 lignes et 43 colonnes avec 5 couleurs
Bonjour
Je souhaite par une macro ecrire un texte automatiquement sur 2 lignes et 43 colonnes.
le texte "JENEDOIS PASBAVARDERENCLASSE."
Le meme texte doit s'ecrire sur toute la ligne , une fois arrivé a la colonne 43 il doit passer a la ligne suivante ..et ainsi de suite
Il faut aussi attribuer une couleur differente a chaque changement de lettre
Couleur prise en compte NOIR ROUGE BLEU JAUNE VERT
RGB(0, 0, 0), RGB(255, 0, 0), RGB(0, 0, 255), RGB(0, 255, 255), RGB(0, 255, 0)
le code fourni par chatgpt indique une erreur et je ne vois pas la solution Merci de votre participation si cela intéresse quelqu un
Sub RemplirLignesAvecTexteMajuscule() |
Dim texte As String |
Dim i As Integer, j As Integer |
Dim lettre As String |
Dim nombreLignes As Integer |
Dim colonne As Integer, ligne As Integer |
Dim couleurs() As Variant ' Tableau des couleurs |
Dim couleurIndex As Integer ' Indice de couleur actuel |
' Texte à insérer dans chaque cellule |
texte = "JENEDOISPASBAVARDERENCLASSE." |
' Nombre de lignes à écrire |
nombreLignes = 20 ' Modifier le nombre de lignes ici |
' Définir le tableau des couleurs avec les valeurs RGB |
couleurs = Array(RGB(0, 0, 0), RGB(255, 0, 0), RGB(0, 0, 255), RGB(0, 255, 255), RGB(0, 255, 0)) |
' Réinitialiser les indices de colonne et de ligne |
colonne = 1 ' Commencer à la colonne A |
ligne = 1 ' Commencer à la ligne 1 |
couleurIndex = 1 ' Commencer avec la première couleur dans le tableau |
' Remplir chaque cellule jusqu'à ce que toutes les lignes soient remplies |
For j = 1 To nombreLignes |
' Parcourir chaque lettre du texte |
For i = 1 To Len(texte) |
lettre = Mid(texte, i, 1) |
' Écrire la lettre dans la cellule actuelle |
Cells(ligne, colonne).Value = lettre |
' Appliquer la couleur actuelle à la cellule |
Cells(ligne, colonne).Font.Color = couleurs(couleurIndex) |
' Passer à la prochaine couleur dans le tableau de couleurs |
couleurIndex = couleurIndex + 1 |
' Réinitialiser l'indice de couleur si on dépasse 5 |
If couleurIndex > 5 Then |
couleurIndex = 1 ' Revenir à la première couleur |
End If |
' Passer à la colonne suivante |
colonne = colonne + 1 |
' Passer à la ligne suivante si la colonne AQ est atteinte |
If colonne > 42 Then |
ligne = ligne + 1 |
colonne = 1 ' Revenir à la colonne A |
End If |
Next i |
Next j |
End Sub |
Autre info chatgpt fourni un code qui fonctionne mais sans la gestion des couleurs
Sub RemplirLignesAvecTexteMajuscule() |
Dim texte As String |
Dim i As Integer, j As Integer |
Dim lettre As String |
Dim nombreLignes As Integer |
Dim colonne As Integer, ligne As Integer |
' Texte à insérer dans chaque cellule |
texte = "JENEDOISPASBAVARDERENCLASSE." |
' Nombre de lignes à écrire |
nombreLignes = 20 ' Modifier le nombre de lignes ici |
' Réinitialiser les indices de colonne et de ligne |
colonne = 1 ' Commencer à la colonne A |
ligne = 1 ' Commencer à la ligne 1 |
' Remplir chaque cellule jusqu'à ce que toutes les lignes soient remplies |
For j = 1 To nombreLignes |
' Parcourir chaque lettre du texte |
For i = 1 To Len(texte) |
lettre = Mid(texte, i, 1) |
' Écrire la lettre dans la cellule actuelle |
Cells(ligne, colonne).Value = lettre |
' Passer à la colonne suivante |
colonne = colonne + 1 |
' Passer à la ligne suivante si la colonne AQ est atteinte |
If colonne > 43 Then |
ligne = ligne + 1 |
colonne = 1 ' Revenir à la colonne A |
End If |
Next i |
Next j |
End Sub |
bonjour/bonsoir,
ajoute cette instruction en première ligne de ton module
Option Base 1
ps. A l'avenir, pour mettre du code, utilise le bouton </>
Merci cela fonctionne les couleurs sont bien evolutives. bonne journée
Bonjour à tous
Nous voila transformés en correcteur de copies d'examen et de surcroit d'un seul candidat: un certain ChatGPT
Je ne comprends pas trop les résultats. Dans l'énoncé il est dit qu'on désire 2 lignes (vu le code, je suppose que c'est une coquille et qu'il faut lire 20 lignes) et il est aussi dit qu'on se limite à 42 colonnes.
Or quand on fait tourner les différents codes, on a bien 42 colonnes remplies (voire 43) mais on n'a que 14 lignes en résultat au lieu des 20 lignes attendues. Et pourtant Pratik nous dit que c'est bon pour lui. Je m'interroge...
Voici le bilan des différents codes (les résultats sont tous différents) :
Dans le classeur joint, cliquez un des quatre boutons pour tester le code correspondant.
bonjour Effectivement je n avais pas mentionné l'erreur de ligne
C'est parfait . Un Grand Merci aux intervenants