macro pour transfert de données avec mise en forme
Dernière réponse : dans Programmation
Hello!
Quelqu'un peut-il m'aider?
je dois créer une macro et je n'ai que très peu de connaissance...
Autres pages sur : macro transfert donnees mise forme
Lassé par la pub ? Créez un compte
suite....
(ça commence bien)
bon alors je m'explique:
J'ai sur ma feuilles 1 , allant des colonnes C à G et de la ligne 2 à 198 des données sous forme de nombres entiers allant de 1 à 50.
Je dois les transférer sur la feuille 2 dans des colonnes numérotées de 1 à 50 sous forme des cases grisées.
Ex : sur la feuille 1 ligne 2 de la case C2 à G2 j'ai respectivement les nombres 37, 21, 14, 43, 22. La macro devra donc aller griser les cases de la feuille 2, ligne 2 , colonnes 38, 22, 15, 44, 23.
puis pareil avec les 196 autres lignes.
Merci par avance de votre aide.
Spice
(ça commence bien)
bon alors je m'explique:
J'ai sur ma feuilles 1 , allant des colonnes C à G et de la ligne 2 à 198 des données sous forme de nombres entiers allant de 1 à 50.
Je dois les transférer sur la feuille 2 dans des colonnes numérotées de 1 à 50 sous forme des cases grisées.
Ex : sur la feuille 1 ligne 2 de la case C2 à G2 j'ai respectivement les nombres 37, 21, 14, 43, 22. La macro devra donc aller griser les cases de la feuille 2, ligne 2 , colonnes 38, 22, 15, 44, 23.
puis pareil avec les 196 autres lignes.
Merci par avance de votre aide.
Spice
bon ben je n'ai pas tout compris.
j'ai été polie...
J'avais besoin d'aide.
j'ai bien cherché dans le forum....mais je n'ai pas trouvé...
Voilà pourquoi je vous solicite.
merci quand même pour votre bienveillante réponse
bonne journée
KangOl a dit :
Nous ne faisons pas le travail à votre place.Tout sujet concernant une demande de résolution de TP ou d'exercice sera immédiatement fermé.
Dura lex, sed lex.
Comme il n'y pas a de question, je me demandais : exiges-tu que nous le fassions à ta place ?
Bien sûr que non. Je t'invite donc à poser une question précise sur un travail que tu aurais commencé mais que tu n'arriverais pas à conclure.
Un extrait de code serait le bienvenu.
Ah! ok!
Bien sur que je n'exige rien du tout. Je suis juste perdue et je cherche de l'aide.
J'ai eu une formation rapide pour mon boulot ce vendredi au cours de laquelle j'ai créé une macro.
Mais pour m'exercer et ne pas perdre mes acquis qui sont très faibles malheureusement, je pratique chez moi , pour moi...Ce n'est ni pour un devoir, ni pour un TP et ni pour mon travail.
Il est vrai que j'aurais du vous envoyer ce que j'ai déjà fait cad pas grand chose , mais c'est ma première macro perso alors je bloque.
D'ailleurs je ne sais même pas insérer une macro dans le forum....
Bon je vais essayer....
A plus tard et merci pour votre explication .
Bien sur que je n'exige rien du tout. Je suis juste perdue et je cherche de l'aide.
J'ai eu une formation rapide pour mon boulot ce vendredi au cours de laquelle j'ai créé une macro.
Mais pour m'exercer et ne pas perdre mes acquis qui sont très faibles malheureusement, je pratique chez moi , pour moi...Ce n'est ni pour un devoir, ni pour un TP et ni pour mon travail.
Il est vrai que j'aurais du vous envoyer ce que j'ai déjà fait cad pas grand chose , mais c'est ma première macro perso alors je bloque.
D'ailleurs je ne sais même pas insérer une macro dans le forum....
Bon je vais essayer....
A plus tard et merci pour votre explication .
Sub Macro5()
'
' Macro5 Macro
' Macro enregistrée le 18/11/2007 par spice
'
'
Dim n As Integer
Sheets("feuil1").Range("C2:G2").Select
For n = 1 To 50
If Value = n Then
goto Sheets("Feuil2").range(Cells(2,(n+1)).Select 'cette ligne n'est pas validée'
Selection.Interior.ColorIndex = 15
End If
Next
End Sub
Voilà la macro que j'ai créé , qui doit correspondre à ce que je vous ai décrit précédemment.
Qu'est-ce qui ne va pas dans la ligne qui n'est pas validée?
comment l'étendre au reste des lignes?
J'ai un autre problème, je n'arrive pas à l'activer pour la tester.
merci par avance de l'aide que vous pourriez m'apportée.
Bonne journée
>> Je suis juste perdue et je cherche de l'aide.
Bienvenue sur PPC
>> Ce n'est ni pour un devoir, ni pour un TP et ni pour mon travail.
Nous n'interdisons pas l'aide aux devoirs, aux TPs ni au boulot. Au contraire. Ce qui est interdit, c'est de balancer un énoncé et d'attendre que quelqu'un d'autre le fasse à l'oeil. C'est honteux si c'est pour un travail rémunéré, inutile si c'est un travail scolaire.
>> ce que j'ai déjà fait cad pas grand chose
C'est déjà ça. Les néophytes sont acceptés.
J'ai sur ce site deux casquettes : Je suis d'une part un membre très actif qui apporte volontiers son aide sur tout ce qui touche à Excel et VB en particulier. Et d'autre part, je suis modérateur. Je dois animer cette partie du forum (
) et y faire respecter le règlement (
), lequel tu ne respectes toujours pas. Retourne le lire, srtout en ce qui concerne l'usage de la balise [code].
EDIT: ( Je retire ma casquette de méchant modérateur ) Il semble que tu nous écrives des Amériques
Ces messages ne vont être interactifs qu'à douze heure de décalage. Dommage, j'ai pas mal de choses (trucs, astuces, bonnes façons de faire) à te proposer. Si tu es patient, pas de problème.
Bienvenue sur PPC
>> Ce n'est ni pour un devoir, ni pour un TP et ni pour mon travail.
Nous n'interdisons pas l'aide aux devoirs, aux TPs ni au boulot. Au contraire. Ce qui est interdit, c'est de balancer un énoncé et d'attendre que quelqu'un d'autre le fasse à l'oeil. C'est honteux si c'est pour un travail rémunéré, inutile si c'est un travail scolaire.
>> ce que j'ai déjà fait cad pas grand chose
C'est déjà ça. Les néophytes sont acceptés.
J'ai sur ce site deux casquettes : Je suis d'une part un membre très actif qui apporte volontiers son aide sur tout ce qui touche à Excel et VB en particulier. Et d'autre part, je suis modérateur. Je dois animer cette partie du forum (
) et y faire respecter le règlement (
), lequel tu ne respectes toujours pas. Retourne le lire, srtout en ce qui concerne l'usage de la balise [code].EDIT: ( Je retire ma casquette de méchant modérateur ) Il semble que tu nous écrives des Amériques
Ces messages ne vont être interactifs qu'à douze heure de décalage. Dommage, j'ai pas mal de choses (trucs, astuces, bonnes façons de faire) à te proposer. Si tu es patient, pas de problème.
Gentil modérateur,
Je n'écris pas des Amériques mais la journée, je bosse.... un peu...
Je suis très patientE et très interesséE par tes trucs, astuces et bonne façons de faire que tu me proposes. Je les cherche sur le net depuis plusieurs jours mais visiblement , je ne suis pas très douéE.
Au plaisir de te lire cher Zeb!
Je n'écris pas des Amériques mais la journée, je bosse.... un peu...
Je suis très patientE et très interesséE par tes trucs, astuces et bonne façons de faire que tu me proposes. Je les cherche sur le net depuis plusieurs jours mais visiblement , je ne suis pas très douéE.
Au plaisir de te lire cher Zeb!
Tu l'as lu ce règlement ?
![]()
Comme tu es une fille, et que tu sembles très gentille (
à tous les autres ), je vais commencer à t'aider avant que tu ais mis ce message http://www.presence-pc.com/forum/ppc/Programmation/macr... correctement en forme.
Tu veux colorier une case. D'accord. En fonction d'une autre. Encore d'accord.
Et ça, cinquante fois. Bien.
Donc il faut regarder la valeur d'une cellule, d'une feuille.
Relisons la phrase à l'envers pour faire un travelling avant :
feuille/cellule/valeur
Demandons la traduction de ces mots :
Donc plutôt que de considérer les feuilles, on ne va considérer que les feuilles de calcul.
Curieusement, UNE cellule, ça n'existe pas en VBA/Excel. Par contre, une plage de plusieurs cellules, ça existe.
Tu te souviens de tes cours de maths du collège ? Un ensemble de 1 élément, ça reste un ensemble. Pour nos besoins, nous
considérerons des plages (Range) de une cellule.
Or, donc. Regardons la valeur de la cellule B3 de la feuille de calcul Feuil1 :
Si tu ne vois rien, ouvre l'éditeur VB et appuye sur CTRL+G. Cela ouvre la fenêtre Exécution.
Debug.Print permet d'écrire dans cette fenêtre. Pratique pour la mise au point
Les fonctions Range et Cells, pour une cellule, sont équivalentes.
Maintenant, colorions une cellule :
Bon. Maintenant on revient à l'énoncé.
Lire la valeur dans Feuil1/B3. Nous y lisons 12, par exemple. Il faut donc colorier Feuil2/L3 :
x 50
Bon, maintenant, on fait varier la ligne :
Et voilà !

Comme tu es une fille, et que tu sembles très gentille (
à tous les autres ), je vais commencer à t'aider avant que tu ais mis ce message http://www.presence-pc.com/forum/ppc/Programmation/macr... correctement en forme.Tu veux colorier une case. D'accord. En fonction d'une autre. Encore d'accord.
Et ça, cinquante fois. Bien.
Donc il faut regarder la valeur d'une cellule, d'une feuille.
Relisons la phrase à l'envers pour faire un travelling avant :
feuille/cellule/valeur
Demandons la traduction de ces mots :
Français | VBA/Excel
-------------------+-------------------
Feuille | Sheet
Feuilles | Sheets
Feuille de calcul | Worksheet
Feuilles de calcul | Worksheets
Cellule |
Cellules | Cells / Range
Valeur | Value
-------------------+-------------------
Feuille | Sheet
Feuilles | Sheets
Feuille de calcul | Worksheet
Feuilles de calcul | Worksheets
Cellule |
Cellules | Cells / Range
Valeur | Value
Donc plutôt que de considérer les feuilles, on ne va considérer que les feuilles de calcul.
Curieusement, UNE cellule, ça n'existe pas en VBA/Excel. Par contre, une plage de plusieurs cellules, ça existe.
Tu te souviens de tes cours de maths du collège ? Un ensemble de 1 élément, ça reste un ensemble. Pour nos besoins, nous
considérerons des plages (Range) de une cellule.
Or, donc. Regardons la valeur de la cellule B3 de la feuille de calcul Feuil1 :
Sub Toto()
Debug.Print WorkSheets("Feuil1").Range("B3").Value
Debug.Print WorkSheets("Feuil1").Cells(3, 2).Value
End Sub
Si tu ne vois rien, ouvre l'éditeur VB et appuye sur CTRL+G. Cela ouvre la fenêtre Exécution.
Debug.Print permet d'écrire dans cette fenêtre. Pratique pour la mise au point
Les fonctions Range et Cells, pour une cellule, sont équivalentes.
Maintenant, colorions une cellule :
Sub Toto()
WorkSheets("Feuil1").Range("B3").Interior.ColorIndex = 15
WorkSheets("Feuil1").Cells(3, 2).Interior.ColorIndex = 15
End Sub
Bon. Maintenant on revient à l'énoncé.
Lire la valeur dans Feuil1/B3. Nous y lisons 12, par exemple. Il faut donc colorier Feuil2/L3 :
Dim valeur As Integer
valeur = WorkSheets("Feuil1").Cells(3, 2).Value
WorkSheets("Feuil2").Cells(3, valeur).Interior.ColorIndex = 15
x 50
Dim valeur As Integer
Dim colonne As Integer
For colonne = 1 To 50
valeur = WorkSheets("Feuil1").Cells(3, colonne).Value
WorkSheets("Feuil2").Cells(3, valeur).Interior.ColorIndex = 15
Next
Bon, maintenant, on fait varier la ligne :
Dim valeur As Integer
Dim colonne As Integer
Dim ligne As Integer
For ligne = 2 To 196
For colonne = 1 To 50
valeur = WorkSheets("Feuil1").Cells(ligne, colonne).Value
WorkSheets("Feuil2").Cells(ligne, valeur).Interior.ColorIndex = 15
Next
Next
Et voilà !
Yes!
C'est trop fort!
ça marche!
C'est génial!
<
)Voilà ma macro définitive!
Sub Macro5()
'
' Macro5 Macro
' Macro enregistrée le 18/11/2007 par spice
'
Dim valeur As Integer
Dim colonne As Integer
Dim ligne As Integer
For ligne = 2 To 198
For colonne = 2 To 6
valeur = Worksheets("Feuil1").Cells(ligne, colonne).Value
Worksheets("Feuil2").Cells(ligne, valeur + 1).Interior.ColorIndex = 15
Next
Next
For ligne = 2 To 198
For colonne = 7 To 8
valeur = Worksheets("Feuil1").Cells(ligne, colonne).Value
Worksheets("Feuil2").Cells(ligne, valeur + 51).Interior.ColorIndex = 15
Next
Next
End Sub
C'est excellent!!!
Merci Oh grand Zeb pour toutes ces explications!
J't'adore!(A)
Il va falloir que je me trouve un autre exercice pour faire encore appel à ton savoir. :$
A très vite
Biz (k)
PS: le collège est trop loin pour que je me souvienne de mes cours de maths....
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumMacro mise en forme conditionnelle
- ForumPlus de 3 mise en forme conditionnelle
- ForumLogiciel de mise en forme
- ForumTransfert de données.
- ForumMacro excel mise en forme conditionnelle
- ForumMacro mise en forme excel résolu
- ForumMacro mise en forme tableau excel
- ForumConserver mise en forme textarea
- ForumTextarea mise en forme texte
- ForumInfos sur mise en forme php
- Voir plus