[VBA] Macros feuilles differentes excel

Macros feuilles differentes excel [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 29-05-2013 à 15:26:50    

Bonjour,  
J'ai cree une macro demandant à l'utilisateur de rentrer le nom, le prénom, et l'age de 5 candidats sur la feuille 1  
J'aimerais que le nom entree par l'utilisateur apparaisse dans la feuille 2  
Comment faire ?  
Voici ma macro  
 
Sub Macrocandidatshommes()  
Worksheets("Candidats Hommes" ).Select  
 
 
Dim a, b, c, d, e As String  
Dim f, g, h, i, j As String  
Dim k, l, m, n, o As Integer  
 
 
   a = InputBox("Entrez le nom du candidat 1" )  
   Range("B2" ).Select  
   ActiveCell.FormulaR1C1 = a  
     
 
    b = InputBox("Entrez le nom du candidat 2" )  
    Range("B3" ).Select  
    ActiveCell.FormulaR1C1 = b  
     
    c = InputBox("Entrez  le nom du candidat 3" )  
    Range("B4" ).Select  
    ActiveCell.FormulaR1C1 = c  
     
    d = InputBox("Entrez le nom du candidat 4" )  
    Range("B5" ).Select  
    ActiveCell.FormulaR1C1 = d  
     
     
    e = InputBox("entrez le nom du candidat 5" )  
    Range("B6" ).Select  
    ActiveCell.FormulaR1C1 = e  
 
f = InputBox("Entrez le prénom du candidat 1" )  
Range("C2" ).Select  
ActiveCell.FormulaR1C1 = f  
     
    g = InputBox("Entrez le prénom du candidat 2" )  
    Range("C3" ).Select  
    ActiveCell.FormulaR1C1 = g  
     
    h = InputBox("Entrez  le prénom du candidat 3" )  
    Range("C4" ).Select  
    ActiveCell.FormulaR1C1 = h  
     
    i = InputBox("Entrez le prénom du candidat 4" )  
    Range("C5" ).Select  
    ActiveCell.FormulaR1C1 = i  
     
    j = InputBox("entrez le prénom du candidat 5" )  
    Range("C6" ).Select  
    ActiveCell.FormulaR1C1 = j  
     
    k = InputBox("Entrez l'age du candidat 1" )  
Range("D2" ).Select  
    ActiveCell.FormulaR1C1 = k  
     
    l = InputBox("Entrez l'age du candidat 2" )  
    Range("D3" ).Select  
    ActiveCell.FormulaR1C1 = l  
     
    m = InputBox("Entrez  l'age du candidat 3" )  
  Range("D4" ).Select  
    ActiveCell.FormulaR1C1 = m  
     
    n = InputBox("Entrez l'age du candidat 4" )  
    Range("D5" ).Select  
    ActiveCell.FormulaR1C1 = n  
     
    o = InputBox("entrez l'age du candidat 5" )  
    Range("D6" ).Select  
    ActiveCell.FormulaR1C1 = o

Reply

Marsh Posté le 29-05-2013 à 15:26:50   

Reply

Marsh Posté le 29-05-2013 à 20:15:27    

Salut,
Pourquoi ne pas faire une copie de tes cellules vers la feuille 2.

Reply

Marsh Posté le 29-05-2013 à 21:20:26    

L'identité du candidat et sa note doivent etre séparé dans 2 feuilles differentes mais je voudrais retrouver ce nom dans la feuille 2


Message édité par david2104 le 29-05-2013 à 21:21:09
Reply

Marsh Posté le 30-05-2013 à 10:27:46    

 
           Bonjour,
 
           merci de corriger le sujet en utilisant l'icône prévue pour baliser le code (C comme code ‼) …
 
           Sinon vu le manque de précisions et de clarté, je peux juste indiquer de préciser la feuille devant la cellule :
 

Code :
  1. Workbooks("nom" ).Range("cellule" ).Value = variable

           Voir l'aide de VBA pour plus de précisions …
 

Reply

Marsh Posté le 30-05-2013 à 12:18:06    

Je voudrais que les donnees de la feuille 1 des cellules B2:B6 se retrouve dans les cellules A10:A14 et dans les cellules A2:A6 de la feuille 2  
Malheureusement la formule ne marche pas :(

Reply

Marsh Posté le 30-05-2013 à 15:10:32    

 
           Quelle formule ?
 

Reply

Marsh Posté le 30-05-2013 à 17:38:36    

Cette formule  
Workbooks("nom" ).Range("cellule" ).Value = variable
     
 je dois ajouter quelque chose devant le workbooks ?

Reply

Marsh Posté le 30-05-2013 à 18:08:17    

 
           Ah ma formule !   Fonctionne bien si chaque élément est bien renseigné :  le nom du classeur, l'adresse de la cellule et la variable …
 
           Comme la présentation n'est pas claire, j'ai cru qu'il s'agissait d'enregistrer les variables  a  à  o  dans une feuille autre que l'active.
 
           Or en fait ce ne serait qu'une simple copie de cellules d'une feuille à une autre, dans ce cas voir donc l'aide VBA
           et l'exemple de la méthode  Copy  associée à un  Range  sans oublier de préciser son argument  Destination  …
 

Reply

Marsh Posté le 30-05-2013 à 19:32:13    

Où se trouve cette fameuse aide vba svp ?


Message édité par david2104 le 30-05-2013 à 19:33:52
Reply

Marsh Posté le 31-05-2013 à 11:26:48    

 
           Elle est partout dans l'éditeur VBA ‼
 
 
           Via le menu  ?  ou dans le rectangle invitant à  Tapez une question  ou bien encore
 
           en positionnant le curseur sur une instruction puis en appuyant sur la touchehttp://www.developpez.net/forums/images/smilies/f1.gif
 

Reply

Marsh Posté le 31-05-2013 à 11:26:48   

Reply

Marsh Posté le 31-05-2013 à 12:34:45    

Merci la formule marche , il fallait que je l'insere dans la bonne macro


Message édité par david2104 le 31-05-2013 à 15:06:55
Reply

Marsh Posté le 31-05-2013 à 15:17:49    

J'en profite pour poser ma 2eme question
J'ai crée un classement dans ma macrro qui indique la position de chaque candidat pour son score
 
ActiveCell.FormulaR1C1 = "RANG(B10;$B$10:B14;0)"
    Range("C10" ).Select
    ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R10C2:R[4]C[-1],0)"
    Range("C11" ).Select
    ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R10C2:R[3]C[-1],0)"
    Range("C12" ).Select
    ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R10C2:R[2]C[-1],0)"
    Range("C13" ).Select
    ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R10C2:R[1]C[-1],0)"
    Range("C14" ).Select
    ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R10C2:RC[-1],0)"
    Range("C15" ).Select
 
Et je voudrais que dans un Tableau  
Il y est écrit le nom des 3 premiers dans l'ordre comme ceci
Or : NOm1
Argent: Nom2
Bronze : Nom3
 
 J'ai donc rempli Or Argent et Bronze dans le tableau. Mais comment faire pour que le nom des 3 premiers apparaissent à coté ?

Reply

Marsh Posté le 31-05-2013 à 15:28:52    

 
           J'irai jeter un œil du côté de la fonction de feuille de calcul  RECHERCHEV  …


Message édité par Marc L le 31-05-2013 à 15:29:16
Reply

Marsh Posté le 31-05-2013 à 15:41:30    

Je n'ais pas compris votre reponse ?

Reply

Marsh Posté le 31-05-2013 à 15:51:07    

 
           Tout comme RANG,  RECHERCHEV  est une fonction de feuille de calcul d'Excel (pas besoin de VBA) …
 

Reply

Marsh Posté le 31-05-2013 à 17:06:13    

peut t-on l'utiliser avec des variables ? Car je n'arrive pas a la faire fonctionner avec un exemple


Message édité par david2104 le 31-05-2013 à 17:26:13
Reply

Marsh Posté le 31-05-2013 à 17:51:44    

 
           Pas besoin vu que c'est une fonction interne aux feuilles de calculs d'Excel !   Donc directement dans la formule d'une cellule …


Message édité par Marc L le 31-05-2013 à 17:52:21
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed