Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/11/2011, 15h12   #1
Invité de passage
 
Homme Fabien
Enseignant
Inscription : novembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Localisation : France

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2011
Messages : 2
Points : 1
Points : 1
Par défaut copier des informations nominatives dans un tableau

Bonjour,
je découvre la toute puissance de la macro sous excel 2003, mais son écriture m'est encore trop difficile pour m'en sortir seul (heures déjà passées à l'appui...)
J'espère que cela retiendra votre attention, et je vous en remercie par avance...
Un fichier : « saisie.xls »
Deux feuilles : « saisie » et « résultats »
La feuille « saisie » contient des cellules non contigues :
Cellule B16 : nom d'élève (à partir d'un menu déroulant existant)
Cellules B20, B22, B24 : données correspondantes de l'élève sélectionné en B16
La feuille « résultats » contient une série de colonnes, dont la première (A) contient initialement la liste des noms de la classe; les colonnes suivantes devraient contenir les données correspondant à chacun d'eux (ex : pour l'élève écrit en A5, les données correspondantes seront sur la même ligne : B5, C5, D5).
L'idée : créer une macro pour copier les résultats individuels élève par élève à partir de la feuille « saisie », vers le tableau de résultats de classe (feuille « résultats »).
FabienG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 15h27   #2
Membre éprouvé
 
Homme Franck PRESSE
Inscription : août 2010
Messages : 202
Détails du profil
Informations personnelles :
Nom : Homme Franck PRESSE
Âge : 38
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : août 2010
Messages : 202
Points : 444
Points : 444
Bonjour,

En gros, la difficulté est ici de trouver le numéro de la ligne feuille "résultats" correspondant au nom saisi en feuille "saisie" cellule B16...

On peux pour cela utiliser la méthode .find.
Un exemple plus ou moins adapté de ta demande :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub EssaiDeTransfert()
'Déclaration des variables
    '- Lign = variable qui va stocker le numéro de la ligne
    '- NomEleve = variable qui va stocker la valeur saisie en saisie!B16
Dim Lign As Long
Dim NomEleve As String
 
'Début de bloc With "dans la feuille saisie"
With Sheets("saisie")
    'remplissage de la variable NomEleve 
    '!!!! au point avant Range ==> référence à la feuille du bloc With
    NomEleve = .Range("B16").Value
'fin de bloc with
End With
'test si aucun nom n'a été saisi
'pour éviter l'erreur avec la méthode find...
If NomEleve = "" Then
    'si aucun nom de saisi en B16, message à l'utilisateur
    MsgBox "Aucun nom n'a été saisi en B16. Merci de corriger."
    'en cas de non-saisie ==> on sort de la procédure
    Exit Sub
'fin du bloc If -- End If fin du test
End If
'début de bloc with "avec la feuille résultats"
With Sheets("résultats")
    'on stocke le numéro de ligne dans la variable Lign
    Lign = .Columns(1).Cells.Find(NomEleve).Row
    'on affecte les valeurs saisies en feuille saisie
    'aux cellules de la feuille résultat Lign correspondante...
    .Cells(Lign, 2) = Sheets("saisie").Range("B20")
    .Cells(Lign, 3) = Sheets("saisie").Range("B22")
    .Cells(Lign, 4) = Sheets("saisie").Range("B24")
'fin de bloc with
End With
'fin de procédure
End Sub
__________________
Cordialement,
Franck P.


Ps : n'oubliez pas de placer vos posts comme "résolus" () si tel est le cas...
pijaku est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/11/2011, 15h44   #3
Invité de passage
 
Homme Fabien
Enseignant
Inscription : novembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Localisation : France

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2011
Messages : 2
Points : 1
Points : 1
Par défaut merci pour cette réponse express !

Encore merci; bravo pour la qualité de vos services !
FabienG est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h48.


 
 
 
 
Partenaires

Hébergement Web