Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

AS DU VBA ET EXCEL- DE L'AIDE SVP MERCI

6 réponses
Avatar
Nicaise
Quelqu'un serait il sympa de m'aider à trouver un code vba pour ce que je
souhaite faire (je découvre vba) avec excel : je rame un peut à vrai dire
pour celui-ci
J'ai 2 feuilles de calcul dans un même classeur.
Dans la 1ere = 1600 lignes et 41 colonnes (types bases de données) avec des
cellules renseignées et des vides (que je doit m a j)
Dans la deuxième (de type formulaire) j'ai des mises à jour régulières à
faire (paiements pour certains mois) qui font réference au données de la
1ere feuil.

Je recupère les données de la 1ere en utilisant la formule index-equiv dans
la deuxième par une liste déroulante des n° de clients (jusque la pas de
probleme)
NB : Je ne voudrais utiliser que ce formaire pour mettre à jour ma base en
feuil1 qui me permet en temps voules de faire des stats et des états.

Je voudrais par l'intermediaire de mon formulaire mettre à jour certaines
cellules de ma 1ere feuille qui corrspondent à certaines cellules du client
sur sa ligne

Par example :

Je veux que la mise à jour (example "payé" ou non payé") des cellules B5 à
H5 de la Feuil2 pour le client n°100 (dont la ligne est la 99 dans ma base
de la feuil1)

puisse etre actualiser dans ma base de la feuil1, pour ce client dans les
cellules adéquates le concernant.



Je sais si c'est clair mais j'espère que qq'un pourra m'aider.


MERCI D'AVANCE.

6 réponses

Avatar
Pascal Engelmajer
Salut,
il y a beaucoup de manière de faire cela.
la plage source de B5 à H5 de la Feuil2 peu être nommée plSource (de
manière statique, ou dynamique en vba)
la plage cible elle doit être affectée dynamiquement en VBA
set plCible = fPl( numClient)
il suffit de créer la fonction fPl (pour cela il faut des éléments que je
n'est pas de position dans la ligne ...)
et de copier cellule par cellule
i=1
for each cell in plSource
plCible.cells(i) =plSource.cells(i)
i=i+1
next cell
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Nicaise" a écrit dans le message de news:
c663s8$avg$
Quelqu'un serait il sympa de m'aider à trouver un code vba pour ce que je
souhaite faire (je découvre vba) avec excel : je rame un peut à vrai dire
pour celui-ci
J'ai 2 feuilles de calcul dans un même classeur.
Dans la 1ere = 1600 lignes et 41 colonnes (types bases de données) avec
des

cellules renseignées et des vides (que je doit m a j)
Dans la deuxième (de type formulaire) j'ai des mises à jour régulières à
faire (paiements pour certains mois) qui font réference au données de la
1ere feuil.

Je recupère les données de la 1ere en utilisant la formule index-equiv
dans

la deuxième par une liste déroulante des n° de clients (jusque la pas de
probleme)
NB : Je ne voudrais utiliser que ce formaire pour mettre à jour ma base en
feuil1 qui me permet en temps voules de faire des stats et des états.

Je voudrais par l'intermediaire de mon formulaire mettre à jour certaines
cellules de ma 1ere feuille qui corrspondent à certaines cellules du
client

sur sa ligne

Par example :

Je veux que la mise à jour (example "payé" ou non payé") des cellules B5 à
H5 de la Feuil2 pour le client n°100 (dont la ligne est la 99 dans ma base
de la feuil1)

puisse etre actualiser dans ma base de la feuil1, pour ce client dans les
cellules adéquates le concernant.



Je sais si c'est clair mais j'espère que qq'un pourra m'aider.


MERCI D'AVANCE.




Avatar
Pascal Engelmajer
Salut,
nommée plSource = insertion - définir - nom = plSource ?
la c'est en "dur"

set plCible = fPl( numClient) = ????????????
pour demain matin il me faudrait la structure de la ligne (99) ou l'on doit


copier la plage source
par exemple de la colonne B à la colonne H ou de E à K (soit B99 à H99 ou
E99 à K99)
et la cellule ou on trouve 99 ou 100 (le client)
et je pourrais t'écrire le code VBA (et l'expliquer)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Nicaise" a écrit dans le message de news:
c6699p$8sb$
VRAIMENT MERCI pour la réponse aussi rapide.

C'est super sympa
Comme je l'ai dit dans mon message je débute en vba
et dans ton message j'ai honte de le dire mais j'ai pas tout compris.
Entre autre ceci :

nommée plSource = insertion - définir - nom = plSource ?
la plage cible elle doit être affectée dynamiquement en VBA
set plCible = fPl( numClient) = ????????????

il suffit de créer la fonction fPl (pour cela il faut des éléments que
je


n'est pas de position dans la ligne ...)
et de copier cellule par cellule
i=1
?????????????

Serait-il possible d'avoir tout le code vba avec l'endroit ou mettre les
ref

de mes cellules.

Sincèrement pour un autre réponse éventuelle. Je me permet quelque peut
d'insister parce que cela me serait très utile pour mon boulot et me
faciliterais bcp la vie.

"Pascal Engelmajer" a écrit dans le
message de news: #
Salut,
il y a beaucoup de manière de faire cela.
la plage source de B5 à H5 de la Feuil2 peu être nommée plSource (de
manière statique, ou dynamique en vba)
la plage cible elle doit être affectée dynamiquement en VBA
set plCible = fPl( numClient)
il suffit de créer la fonction fPl (pour cela il faut des éléments que
je


n'est pas de position dans la ligne ...)
et de copier cellule par cellule
i=1
for each cell in plSource
plCible.cells(i) =plSource.cells(i)
i=i+1
next cell
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Nicaise" a écrit dans le message de news:
c663s8$avg$
Quelqu'un serait il sympa de m'aider à trouver un code vba pour ce que
je


souhaite faire (je découvre vba) avec excel : je rame un peut à vrai
dire


pour celui-ci
J'ai 2 feuilles de calcul dans un même classeur.
Dans la 1ere = 1600 lignes et 41 colonnes (types bases de données)
avec



des
cellules renseignées et des vides (que je doit m a j)
Dans la deuxième (de type formulaire) j'ai des mises à jour
régulières



à
faire (paiements pour certains mois) qui font réference au données de
la



1ere feuil.

Je recupère les données de la 1ere en utilisant la formule index-equiv
dans

la deuxième par une liste déroulante des n° de clients (jusque la pas
de



probleme)
NB : Je ne voudrais utiliser que ce formaire pour mettre à jour ma
base



en
feuil1 qui me permet en temps voules de faire des stats et des états.

Je voudrais par l'intermediaire de mon formulaire mettre à jour
certaines


cellules de ma 1ere feuille qui corrspondent à certaines cellules du
client

sur sa ligne

Par example :

Je veux que la mise à jour (example "payé" ou non payé") des cellules
B5



à
H5 de la Feuil2 pour le client n°100 (dont la ligne est la 99 dans ma
base


de la feuil1)

puisse etre actualiser dans ma base de la feuil1, pour ce client dans
les


cellules adéquates le concernant.



Je sais si c'est clair mais j'espère que qq'un pourra m'aider.


MERCI D'AVANCE.












Avatar
Clément Marcotte
Bonjour,

nommée plSource = insertion - définir - nom = plSource ?




Il faut faire le "chemin" à travers les menus d'Excel. En ouvrant le
menu Insertion, tu vas trouver Définir et ainsi de suite.



Avatar
Nicaise
VRAIMENT MERCI pour la réponse aussi rapide.

C'est super sympa
Comme je l'ai dit dans mon message je débute en vba
et dans ton message j'ai honte de le dire mais j'ai pas tout compris.
Entre autre ceci :

nommée plSource = insertion - définir - nom = plSource ?
la plage cible elle doit être affectée dynamiquement en VBA
set plCible = fPl( numClient) = ????????????

il suffit de créer la fonction fPl (pour cela il faut des éléments que je
n'est pas de position dans la ligne ...)
et de copier cellule par cellule
i=1
?????????????

Serait-il possible d'avoir tout le code vba avec l'endroit ou mettre les ref
de mes cellules.

Sincèrement pour un autre réponse éventuelle. Je me permet quelque peut
d'insister parce que cela me serait très utile pour mon boulot et me
faciliterais bcp la vie.

"Pascal Engelmajer" a écrit dans le
message de news: #
Salut,
il y a beaucoup de manière de faire cela.
la plage source de B5 à H5 de la Feuil2 peu être nommée plSource (de
manière statique, ou dynamique en vba)
la plage cible elle doit être affectée dynamiquement en VBA
set plCible = fPl( numClient)
il suffit de créer la fonction fPl (pour cela il faut des éléments que je
n'est pas de position dans la ligne ...)
et de copier cellule par cellule
i=1
for each cell in plSource
plCible.cells(i) =plSource.cells(i)
i=i+1
next cell
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Nicaise" a écrit dans le message de news:
c663s8$avg$
Quelqu'un serait il sympa de m'aider à trouver un code vba pour ce que
je


souhaite faire (je découvre vba) avec excel : je rame un peut à vrai
dire


pour celui-ci
J'ai 2 feuilles de calcul dans un même classeur.
Dans la 1ere = 1600 lignes et 41 colonnes (types bases de données) avec
des

cellules renseignées et des vides (que je doit m a j)
Dans la deuxième (de type formulaire) j'ai des mises à jour régulières
à


faire (paiements pour certains mois) qui font réference au données de la
1ere feuil.

Je recupère les données de la 1ere en utilisant la formule index-equiv
dans

la deuxième par une liste déroulante des n° de clients (jusque la pas de
probleme)
NB : Je ne voudrais utiliser que ce formaire pour mettre à jour ma base
en


feuil1 qui me permet en temps voules de faire des stats et des états.

Je voudrais par l'intermediaire de mon formulaire mettre à jour
certaines


cellules de ma 1ere feuille qui corrspondent à certaines cellules du
client

sur sa ligne

Par example :

Je veux que la mise à jour (example "payé" ou non payé") des cellules B5
à


H5 de la Feuil2 pour le client n°100 (dont la ligne est la 99 dans ma
base


de la feuil1)

puisse etre actualiser dans ma base de la feuil1, pour ce client dans
les


cellules adéquates le concernant.



Je sais si c'est clair mais j'espère que qq'un pourra m'aider.


MERCI D'AVANCE.








Avatar
Nicaise
Merci pour la réponse à la vitesse de l'éclair


nommée plSource = insertion - définir - nom = plSource ?


la c'est en "dur" j'ai pas compris ? Je sais, je suis nul mais le
vba je connais depuis deux jours. Merci de m'aider.


La structure de la ligne 99 (parmis les 1600) la voici ci-dessous, ce sont
les 11 dernières colonnes qui correspondent au mois de paiement que je dois
mettre à jour régulièrement en fonction des paiements : En fait c'est pour
le mileu scolaire (suivi paiement cantine dans une petite commune de la
Réunion) on ne possède aucun logiciel de suivi.

N° de ref
N°CARTE
ECOLES NOM PRENOMS DATEDENAISSANCE CLASSE PERE MERE ADRESSE
CODEPOSTALCOMMUNE SITUATIONFAMILIALE PROFESSIONPERE PROFESSIONMERE
N°SECURITESOCIALE N°CAF N°DETELEPHONE TITRE Nompartieversante A S O N D F M
A M J J


Les 11 dernières colonnes ce sont uniquement celles que je dois mettre à
jour régulièrement. Et je souhaite le faire par l'interface (formulaire) de
la feuil2 ou j'utilise pour l'affichage des données la formule index-equiv,
qui fonctionne bien et pour laquelle chaque donnée des élèves est affichée
par une liste déroulante faisant réf au "N°Carte".
NB : Par ce même formulaire des justificatifs et des preuves de paiements
devont être tenues et imprimées journalièrement. J'y ai programé tant bien
que mal des macros (optimisées ?????????) pour y arriver.

Pour les données de la Feuil2 ce sont 11 céllules fixes en parallèle avec
celle affichée par la formule index-equiv qui renvoie l'état de paiement de
la personne concernée : par exemple E10 à E21.

L'idéal ça serait que sur ces onzes cellules de mon formulaire je ne mette à
jour que les nouveaux paiements (qui peuvent être mensuels, bi.mensuel,
trimestriel...) c'est peut être trop demandé !!!!

Quoi qu'il en soit MERCI. POUR TON AIDE

SALUT



"Pascal Engelmajer" a écrit dans le
message de news:
Salut,
nommée plSource = insertion - définir - nom = plSource ?
la c'est en "dur"

set plCible = fPl( numClient) = ????????????
pour demain matin il me faudrait la structure de la ligne (99) ou l'on


doit

copier la plage source
par exemple de la colonne B à la colonne H ou de E à K (soit B99 à H99 ou
E99 à K99)
et la cellule ou on trouve 99 ou 100 (le client)
et je pourrais t'écrire le code VBA (et l'expliquer)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Nicaise" a écrit dans le message de news:
c6699p$8sb$
VRAIMENT MERCI pour la réponse aussi rapide.

C'est super sympa
Comme je l'ai dit dans mon message je débute en vba
et dans ton message j'ai honte de le dire mais j'ai pas tout compris.
Entre autre ceci :

nommée plSource = insertion - définir - nom = plSource ?
la plage cible elle doit être affectée dynamiquement en VBA
set plCible = fPl( numClient) = ????????????

il suffit de créer la fonction fPl (pour cela il faut des éléments que
je


n'est pas de position dans la ligne ...)
et de copier cellule par cellule
i=1
?????????????

Serait-il possible d'avoir tout le code vba avec l'endroit ou mettre les
ref

de mes cellules.

Sincèrement pour un autre réponse éventuelle. Je me permet quelque peut
d'insister parce que cela me serait très utile pour mon boulot et me
faciliterais bcp la vie.

"Pascal Engelmajer" a écrit dans le
message de news: #
Salut,
il y a beaucoup de manière de faire cela.
la plage source de B5 à H5 de la Feuil2 peu être nommée plSource (de
manière statique, ou dynamique en vba)
la plage cible elle doit être affectée dynamiquement en VBA
set plCible = fPl( numClient)
il suffit de créer la fonction fPl (pour cela il faut des éléments que
je


n'est pas de position dans la ligne ...)
et de copier cellule par cellule
i=1
for each cell in plSource
plCible.cells(i) =plSource.cells(i)
i=i+1
next cell
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Nicaise" a écrit dans le message de news:
c663s8$avg$
Quelqu'un serait il sympa de m'aider à trouver un code vba pour ce
que




je
souhaite faire (je découvre vba) avec excel : je rame un peut à vrai
dire


pour celui-ci
J'ai 2 feuilles de calcul dans un même classeur.
Dans la 1ere = 1600 lignes et 41 colonnes (types bases de données)
avec



des
cellules renseignées et des vides (que je doit m a j)
Dans la deuxième (de type formulaire) j'ai des mises à jour
régulières



à
faire (paiements pour certains mois) qui font réference au données
de




la
1ere feuil.

Je recupère les données de la 1ere en utilisant la formule
index-equiv




dans
la deuxième par une liste déroulante des n° de clients (jusque la
pas




de
probleme)
NB : Je ne voudrais utiliser que ce formaire pour mettre à jour ma
base



en
feuil1 qui me permet en temps voules de faire des stats et des
états.





Je voudrais par l'intermediaire de mon formulaire mettre à jour
certaines


cellules de ma 1ere feuille qui corrspondent à certaines cellules du
client

sur sa ligne

Par example :

Je veux que la mise à jour (example "payé" ou non payé") des
cellules




B5
à
H5 de la Feuil2 pour le client n°100 (dont la ligne est la 99 dans
ma




base
de la feuil1)

puisse etre actualiser dans ma base de la feuil1, pour ce client
dans




les
cellules adéquates le concernant.



Je sais si c'est clair mais j'espère que qq'un pourra m'aider.


MERCI D'AVANCE.
















Avatar
Nicaise
Structure plus explicite de la ligne 99

A99 = N°CARTE
B99= ECOLES
C99 = NOM
D99 = PRENOMS
E99 = DATEDENAISSANCE
F99 = CLASSE
G99 = PERE
H99 = MERE
I99 = ADRESSE
J99 = CODEPOSTALCOMMUNE
K99 = SITUATIONFAMILIALE
L99 = PROFESSIONPERE
M99 = PROFESSIONMERE
N99 = N°SECURITESOCIALE
O99 =N°CAF
P99 = N°DETELEPHONE
Q99 = TITRE
R99 = Nompartieversante
S99 =Août = cellule contenant le montant payé
T99 = Septmbre = cellule contenant le montant payé
U99= Octobre = cellule contenant le montant payé
V99 = Novembre = cellule contenant le montant payé
W99 = Décembre = cellule contenant le montant payé
X99 = Fev = cellule contenant le montant payé
Y 99 = Mars = cellule contenant le montant payé
Z99 = Avr = cellule contenant le montant payé
AA99 = Mai = cellule contenant le montant payé
AB99 = Juin = cellule contenant le montant payé
AC99 = Juill = cellule contenant le montant payé

"Nicaise" a écrit dans le message de news:
c66eu0$j55$
Merci pour la réponse à la vitesse de l'éclair


nommée plSource = insertion - définir - nom = plSource ?


la c'est en "dur" j'ai pas compris ? Je sais, je suis nul mais le
vba je connais depuis deux jours. Merci de m'aider.


La structure de la ligne 99 (parmis les 1600) la voici ci-dessous, ce sont
les 11 dernières colonnes qui correspondent au mois de paiement que je
dois

mettre à jour régulièrement en fonction des paiements : En fait c'est pour
le mileu scolaire (suivi paiement cantine dans une petite commune de la
Réunion) on ne possède aucun logiciel de suivi.

N° de ref
N°CARTE
ECOLES NOM PRENOMS DATEDENAISSANCE CLASSE PERE MERE ADRESSE
CODEPOSTALCOMMUNE SITUATIONFAMILIALE PROFESSIONPERE PROFESSIONMERE
N°SECURITESOCIALE N°CAF N°DETELEPHONE TITRE Nompartieversante A S O N D F
M

A M J J


Les 11 dernières colonnes ce sont uniquement celles que je dois mettre à
jour régulièrement. Et je souhaite le faire par l'interface (formulaire)
de

la feuil2 ou j'utilise pour l'affichage des données la formule
index-equiv,

qui fonctionne bien et pour laquelle chaque donnée des élèves est affichée
par une liste déroulante faisant réf au "N°Carte".
NB : Par ce même formulaire des justificatifs et des preuves de paiements
devont être tenues et imprimées journalièrement. J'y ai programé tant bien
que mal des macros (optimisées ?????????) pour y arriver.

Pour les données de la Feuil2 ce sont 11 céllules fixes en parallèle avec
celle affichée par la formule index-equiv qui renvoie l'état de paiement
de

la personne concernée : par exemple E10 à E21.

L'idéal ça serait que sur ces onzes cellules de mon formulaire je ne mette
à

jour que les nouveaux paiements (qui peuvent être mensuels, bi.mensuel,
trimestriel...) c'est peut être trop demandé !!!!

Quoi qu'il en soit MERCI. POUR TON AIDE

SALUT



"Pascal Engelmajer" a écrit dans le
message de news:
Salut,
nommée plSource = insertion - définir - nom = plSource ?
la c'est en "dur"

set plCible = fPl( numClient) = ????????????
pour demain matin il me faudrait la structure de la ligne (99) ou l'on


doit

copier la plage source
par exemple de la colonne B à la colonne H ou de E à K (soit B99 à H99
ou


E99 à K99)
et la cellule ou on trouve 99 ou 100 (le client)
et je pourrais t'écrire le code VBA (et l'expliquer)
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Nicaise" a écrit dans le message de news:
c6699p$8sb$
VRAIMENT MERCI pour la réponse aussi rapide.

C'est super sympa
Comme je l'ai dit dans mon message je débute en vba
et dans ton message j'ai honte de le dire mais j'ai pas tout compris.
Entre autre ceci :

nommée plSource = insertion - définir - nom = plSource ?
la plage cible elle doit être affectée dynamiquement en VBA
set plCible = fPl( numClient) = ????????????

il suffit de créer la fonction fPl (pour cela il faut des éléments
que




je
n'est pas de position dans la ligne ...)
et de copier cellule par cellule
i=1
?????????????

Serait-il possible d'avoir tout le code vba avec l'endroit ou mettre
les



ref
de mes cellules.

Sincèrement pour un autre réponse éventuelle. Je me permet quelque
peut



d'insister parce que cela me serait très utile pour mon boulot et me
faciliterais bcp la vie.

"Pascal Engelmajer" a écrit dans
le



message de news: #
Salut,
il y a beaucoup de manière de faire cela.
la plage source de B5 à H5 de la Feuil2 peu être nommée plSource
(de




manière statique, ou dynamique en vba)
la plage cible elle doit être affectée dynamiquement en VBA
set plCible = fPl( numClient)
il suffit de créer la fonction fPl (pour cela il faut des éléments
que




je
n'est pas de position dans la ligne ...)
et de copier cellule par cellule
i=1
for each cell in plSource
plCible.cells(i) =plSource.cells(i)
i=i+1
next cell
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il
va."




Sénèque.
http://www.ilyapa.net/excel
"Nicaise" a écrit dans le message de news:
c663s8$avg$
Quelqu'un serait il sympa de m'aider à trouver un code vba pour ce
que




je
souhaite faire (je découvre vba) avec excel : je rame un peut à
vrai





dire
pour celui-ci
J'ai 2 feuilles de calcul dans un même classeur.
Dans la 1ere = 1600 lignes et 41 colonnes (types bases de données)
avec



des
cellules renseignées et des vides (que je doit m a j)
Dans la deuxième (de type formulaire) j'ai des mises à jour
régulières



à
faire (paiements pour certains mois) qui font réference au données
de




la
1ere feuil.

Je recupère les données de la 1ere en utilisant la formule
index-equiv




dans
la deuxième par une liste déroulante des n° de clients (jusque la
pas




de
probleme)
NB : Je ne voudrais utiliser que ce formaire pour mettre à jour ma
base



en
feuil1 qui me permet en temps voules de faire des stats et des
états.





Je voudrais par l'intermediaire de mon formulaire mettre à jour
certaines


cellules de ma 1ere feuille qui corrspondent à certaines cellules
du





client
sur sa ligne

Par example :

Je veux que la mise à jour (example "payé" ou non payé") des
cellules




B5
à
H5 de la Feuil2 pour le client n°100 (dont la ligne est la 99 dans
ma




base
de la feuil1)

puisse etre actualiser dans ma base de la feuil1, pour ce client
dans




les
cellules adéquates le concernant.



Je sais si c'est clair mais j'espère que qq'un pourra m'aider.


MERCI D'AVANCE.