begin process at 2012 02 15 10:47:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

Macro Excel, demande d'aide d'un débutant


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Macro Excel, demande d'aide d'un débutant

lundi 11 août 2003 à 17:21:22 | Macro Excel, demande d'aide d'un débutant

Fab117

Bonjour,
Je suis en train de faire une macro pour Excel.
Le but de la macro est :
- Le premier onglet contient une série de chiffres entiers qui changeront au cours du temps.
- Les onglets suivants contiennent des chiffres entiers qui eux ne changeront pas.
- Le but est que lorsque je change les chiffres du 1er onglet, je puisse aller sur n'importe quel autre onglet, excécuter la macro et qu'il compare les chiffres de cet onglet avec ceux du premier onglet
- Finalement, au moyen d'une MsgBox, qu'il me dise le nombre de chiffre commun et qu'après il inscrive le chiffre dans une cellule bien précise de l'onglet en cours de consultation.

En fait, le premier onglet contient les chiffres du dernier tirage du lotto et les autres onglets contiennent les chiffres que j'ai joué.

Mes problèmes :
- Pour appliquer la même macro sur les différents onglets, je voudrais qu'il mémorise l'onglet actif d'où est exécutée la macro pour y revenir après avoir été enregistrer les variables (chiffres) du 1er onglet (pour l'instant, je suis obligé de nommer l'onglet où il doit revenir).

Il va sur le premier onglet et attribue cahque chiffre à des variables définies comme Integer :
Sheets("Tirages").Select
Set Tirage1erNumero = Range("D3")
...
Pour revenir à l'onglet d'où a été excécutée la macro :
Sheets("1er ticket en cours").Select
Set Controle1erNumero = Range("D2")
...

- Pour chaque billet, il y a plusieurs tirages possibles. Les dates sont inscrites dans une colonne. Pour un tirage donné, je souhaite donc qu'il inscrive le résultat dans la bonne case. Il s'agit d'une case de la colonne B, mais la ligne change à chaque fois. J'ai donc créé une InputBox où il demande le numéro de la ligne où il doit inscrire le résultat. La valeur entrée est stockée dans une variable définie comme Integer. Mon problème est qu'au moment d'inscrire le résultat, je ne sais pas comment lui indiquer qu'il doit le mettre dans la case B- Ligne.

Ligne = InputBox("Indiquer le numéro de la ligne où indiquer le nombre
de numéros corrects", "Ligne")

- Finalement, pour chaque numéro du ticket il compare le chiffre avec tous ceux du tirage. Si les chiffres coincident il donne la valeur 1, sinon 0. A la fin, je lui fais sommer tout le tableau pour connaitre le résultat.

' Controle du 1er numéro choisi
If Controle1erNumero > Tirage1erNumero Or Controle1erNumero <
Tirage1erNumero Then
Range("D4") = "0"
Else: Range("D4") = "1"
End If
If Controle1erNumero > Tirage2emeNumero Or Controle1erNumero <
Tirage2emeNumero Then
Range("D5") = "0"
Else: Range("D5") = "1"
End If
...

'Calcul du nombre de bons numéros

Bonsnumeros = "=SUM(R[-12]C:R[-8]C[6])"
'A noter toutes les variables sont définies comme Integer

Cette manière de faire fonctionne bien lorsqu'après je lui demande d'inscrire la variable Bonsnumeros dans une cellule. Par contre, lorsqu'il doit me l'indiquer dans une MsgBox, ça ne marche pas :
' Annonce des résultats dans une boite de dialogue
MsgBox "Nombre de bons numéros :" & Bonsnumeros, 0, "Résultats"

Il inscrit dans la MsgBox "=SUM(R[-12]C:R[-8]C[6])"

Merci pour vos conseils.


Fab 117
lundi 11 août 2003 à 21:13:36 | Re : Macro Excel, demande d'aide d'un débutant

pinje

Essaye ca:

'Met la valeur de la Cellule dans ta Variable
Bonsnumeros = Sheets("Sheet1").Cells(1, 1).Value

n = MsgBox("Nombre de bons numéros :" & Bonsnumeros , vbInformation, "")

En gros laisse VBA declarer Bonsnumeros as Variant
-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
> Je suis en train de faire une macro pour Excel.
> Le but de la macro est :
> - Le premier onglet contient une série de chiffres entiers qui changeront au cours du temps.
> - Les onglets suivants contiennent des chiffres entiers qui eux ne changeront pas.
> - Le but est que lorsque je change les chiffres du 1er onglet, je puisse aller sur n'importe quel autre onglet, excécuter la macro et qu'il compare les chiffres de cet onglet avec ceux du premier onglet
> - Finalement, au moyen d'une MsgBox, qu'il me dise le nombre de chiffre commun et qu'après il inscrive le chiffre dans une cellule bien précise de l'onglet en cours de consultation.
>
> En fait, le premier onglet contient les chiffres du dernier tirage du lotto et les autres onglets contiennent les chiffres que j'ai joué.
>
> Mes problèmes :
> - Pour appliquer la même macro sur les différents onglets, je voudrais qu'il mémorise l'onglet actif d'où est exécutée la macro pour y revenir après avoir été enregistrer les variables (chiffres) du 1er onglet (pour l'instant, je suis obligé de nommer l'onglet où il doit revenir).
>
> Il va sur le premier onglet et attribue cahque chiffre à des variables définies comme Integer :
> Sheets("Tirages").Select
> Set Tirage1erNumero = Range("D3")
> ...
> Pour revenir à l'onglet d'où a été excécutée la macro :
> Sheets("1er ticket en cours").Select
> Set Controle1erNumero = Range("D2")
> ...
>
> - Pour chaque billet, il y a plusieurs tirages possibles. Les dates sont inscrites dans une colonne. Pour un tirage donné, je souhaite donc qu'il inscrive le résultat dans la bonne case. Il s'agit d'une case de la colonne B, mais la ligne change à chaque fois. J'ai donc créé une InputBox où il demande le numéro de la ligne où il doit inscrire le résultat. La valeur entrée est stockée dans une variable définie comme Integer. Mon problème est qu'au moment d'inscrire le résultat, je ne sais pas comment lui indiquer qu'il doit le mettre dans la case B- Ligne.
>
> Ligne = InputBox("Indiquer le numéro de la ligne où indiquer le nombre
> de numéros corrects", "Ligne")
>
> - Finalement, pour chaque numéro du ticket il compare le chiffre avec tous ceux du tirage. Si les chiffres coincident il donne la valeur 1, sinon 0. A la fin, je lui fais sommer tout le tableau pour connaitre le résultat.
>
> ' Controle du 1er numéro choisi
> If Controle1erNumero > Tirage1erNumero Or Controle1erNumero <
> Tirage1erNumero Then
> Range("D4") = "0"
> Else: Range("D4") = "1"
> End If
> If Controle1erNumero > Tirage2emeNumero Or Controle1erNumero <
> Tirage2emeNumero Then
> Range("D5") = "0"
> Else: Range("D5") = "1"
> End If
> ...
>
> 'Calcul du nombre de bons numéros
>
> Bonsnumeros = "=SUM(R[-12]C:R[-8]C[6])"
> 'A noter toutes les variables sont définies comme Integer
>
> Cette manière de faire fonctionne bien lorsqu'après je lui demande d'inscrire la variable Bonsnumeros dans une cellule. Par contre, lorsqu'il doit me l'indiquer dans une MsgBox, ça ne marche pas :
> ' Annonce des résultats dans une boite de dialogue
> MsgBox "Nombre de bons numéros :" & Bonsnumeros, 0, "Résultats"
>
> Il inscrit dans la MsgBox "=SUM(R[-12]C:R[-8]C[6])"
>
> Merci pour vos conseils.
>
>
> Fab 117
mardi 21 octobre 2003 à 07:26:35 | Macro Excel, commande pour recuperer le nombre de ligne

Pom825

Bonjour,

je souhaite recuperer le nombre de lignes de la feuille courante en macro excel,

Merci,

Manu


Cette discussion est classée dans : ligne, macro, chiffres, demande, onglet


Répondre à ce message

Sujets en rapport avec ce message

macro copier ligne si condition [ par benbenper ] Bonjour,Je cherche à copier des lignes respectant une conditionVoici l'entête du tableau que j'ai sur ma feuille / onglet "recap":Date  / Nom / Compte Macro lente [ par falafala ] Bonjour à tous,J'ai réalisé une macro simple qui permet de venir chercher des données dans un onglet et de venir les coller dans un autre onglet.Parfo Onglet qui va jusqu a la ligne 65536 [ par falafala ] Bonjour à tous, J'ai un onglet dans lequel j'ai 3000 remplies et pourtant, lorsque je fais un CTRL+END pour voir la dernière case remplies, je me retr Copie de date avec un mauvais format [ par falafala ] Bonjour à tous, J'ai une colonne dans un onglet (onglet Données) que je souhaite copier ligne par ligne dans un autre onglet (onglet Traitements).J'ai [Macro] Colorier plusieurs cellules selon une ou plusieurs valeurs [ par gmi19oj19 ] Salut,J'ai un fichier Excel et je souhaite modifier, par ligne et sur un certain nombre (fixe) de colonnes, la couleur de fond de mes cellules. Voulan macro excel insertion une ligne si la valeur =0 [ par vandat ] Bonjour à tous,Je suis à la recherche une formule magique pour une insertion automatique d'une ligne vide dans excel exemple A1=1000; A2=2000si A1 A2 macro excel "tri de ligne et copie vers feuil3" [ par psykocoic ] bonjour à tous. tout novice dans la création de macro, je galère... bref... je bosse sur un tableau de suivi médical avec des alertes visuelles. t Creation d'un document .doc à partir de plusieurs [ par jean202 ] bonjourdans un répertoire tous mes fichiers .doc contiennent un tableau word unique.j'aimerais faire une macro prenant la derniere ligne de chaque . Macro : Couper une ligne qui est en gras dans une autre feuille [ par Elnono94 ] Bonjour, j'aimerai que les données qui sont en caractère gras à partir de A6 (dans feuil1) soient couper et coller dans feuil2 à partir de la colonne Suppression d'une ligne spécifique via un macro [ par xpmich ] bonjour,je souhaite supprimer une ligne spécifique via un macro. Ma ligne est choisie en fonction d'un valeur comprise dans ma colonne B. Une fois que


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales