Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1500 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Macros feuilles differentes excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] Macros feuilles differentes excel

n°2192104
david2104
Posté le 29-05-2013 à 15:26:50  profilanswer
 

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

mood
Publicité
Posté le 29-05-2013 à 15:26:50  profilanswer
 

n°2192160
phdenis
Posté le 29-05-2013 à 20:15:27  profilanswer
 

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

n°2192167
david2104
Posté le 29-05-2013 à 21:20:26  profilanswer
 

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
n°2192198
Marc L
Posté le 30-05-2013 à 10:27:46  profilanswer
 

 
           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 …
 

n°2192215
david2104
Posté le 30-05-2013 à 12:18:06  profilanswer
 

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 :(

n°2192247
Marc L
Posté le 30-05-2013 à 15:10:32  profilanswer
 

 
           Quelle formule ?
 

n°2192289
david2104
Posté le 30-05-2013 à 17:38:36  profilanswer
 

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

n°2192291
Marc L
Posté le 30-05-2013 à 18:08:17  profilanswer
 

 
           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  …
 

n°2192302
david2104
Posté le 30-05-2013 à 19:32:13  profilanswer
 

Où se trouve cette fameuse aide vba svp ?


Message édité par david2104 le 30-05-2013 à 19:33:52
n°2192350
Marc L
Posté le 31-05-2013 à 11:26:48  profilanswer
 

 
           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
 

mood
Publicité
Posté le 31-05-2013 à 11:26:48  profilanswer
 

n°2192355
david2104
Posté le 31-05-2013 à 12:34:45  profilanswer
 

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
n°2192390
david2104
Posté le 31-05-2013 à 15:17:49  profilanswer
 

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é ?

n°2192394
Marc L
Posté le 31-05-2013 à 15:28:52  profilanswer
 

 
           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
n°2192401
david2104
Posté le 31-05-2013 à 15:41:30  profilanswer
 

Je n'ais pas compris votre reponse ?

n°2192405
Marc L
Posté le 31-05-2013 à 15:51:07  profilanswer
 

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

n°2192419
david2104
Posté le 31-05-2013 à 17:06:13  profilanswer
 

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
n°2192422
Marc L
Posté le 31-05-2013 à 17:51:44  profilanswer
 

 
           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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Macros feuilles differentes excel

 

Sujets relatifs
[VBA]Colorier 2 cellules de la même couleurliste aléatoire sous Excel
Exercice VBA Excel sur le NOM PRENOMStyle TCD en VBA
Regrouper plusieur excel dans un seul .xlsxVBA extraction d'une chaine à partir d'une autre chaine
Projet VBA : Simulation d'un jeux de pokergraphe a partir d'excel par VBA
Plus de sujets relatifs à : [VBA] Macros feuilles differentes excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR