OVH Cloud OVH Cloud

Macro remplacement d'une ligne variable dans un tableau

6 réponses
Avatar
AlbanT
Bonjour,

Je souhaite créer un formulaire pour un tableau avec plus de 300 colonnes. Mon idée est donc d’avoir un classeur avec 3 Feuilles. La Feuilles 1 est ma base, la feuille 2 est une feuille tampon et la Feuille 3 un formulaire qui affiche joliment le contenu d’une ligne de ma base à l’aide d’un choix déroulant. Sur ce formulaire je veux créer deux boutons de macro : un qui charge les données dans les différentes cases en allant chercher la bonne référence dans la base en fonction du choix déroulant, et un deuxième qui copie les éléments modifiés du formulaire vers cette base. Je me sers de la feuille 2 pour « recréer » ma ligne et ensuite la copier directement dans ma base avec la macro (afin d’alléger la programmation).
Chaque ligne a un code, j’aimerais donc savoir si quelqu’un connait un moyen simple d’avoir une Macro qui cherche la bonne ligne dans la base qui a ce code (supposons que ce soit la colonne A) et qui remplace directement toute la ligne par une nouvelle ligne.
Je ne suis pas un pro de VBA, j’ai trouvé sur des forums comment remplacer la ligne en déterminant dans le code quelle ligne modifier mais je n’ai pas trouvé le moyen de faire varier cette ligne en fonction d’un code.
Exemple :
Mon tableau est A1:C3
1 B B
2 B B
3 C B
Mon formulaire affiche la ligne 2 : 2 B B
Je modifie la ligne pour le deuxième B devienne D
Je veux désormais que la macro remplace dans la base la ligne 2 par ma nouvelle ligne : 2 D B

Je vous remercie d’avance pour toute l’aide que vous pourriez m’apporter.

Alban

6 réponses

Avatar
albant
Le vendredi 31 Janvier 2014 à 18:39 par AlbanT :
Bonjour,

Je souhaite créer un formulaire pour un tableau avec plus de 300
colonnes. Mon idée est donc d’avoir un classeur avec 3 Feuilles.
La Feuilles 1 est ma base, la feuille 2 est une feuille tampon et la Feuille 3
un formulaire qui affiche joliment le contenu d’une ligne de ma base
à l’aide d’un choix déroulant. Sur ce formulaire je
veux créer deux boutons de macro : un qui charge les données dans
les différentes cases en allant chercher la bonne
référence dans la base en fonction du choix déroulant, et
un deuxième qui copie les éléments modifiés du
formulaire vers cette base. Je me sers de la feuille 2 pour «
recréer » ma ligne et ensuite la copier directement dans ma base
avec la macro (afin d’alléger la programmation).
Chaque ligne a un code, j’aimerais donc savoir si quelqu’un connait
un moyen simple d’avoir une Macro qui cherche la bonne ligne dans la base
qui a ce code (supposons que ce soit la colonne A) et qui remplace directement
toute la ligne par une nouvelle ligne.
Je ne suis pas un pro de VBA, j’ai trouvé sur des forums comment
remplacer la ligne en déterminant dans le code quelle ligne modifier
mais je n’ai pas trouvé le moyen de faire varier cette ligne en
fonction d’un code.
Exemple :
Mon tableau est A1:C3
1 B B
2 B B
3 C B
Mon formulaire affiche la ligne 2 : 2 B B
Je modifie la ligne pour le deuxième B devienne D
Je veux désormais que la macro remplace dans la base la ligne 2 par ma
nouvelle ligne : 2 D B

Je vous remercie d’avance pour toute l’aide que vous pourriez
m’apporter.

Alban


Pour info voici ma Macro actuelle:

Sub copierplage()
Sheets("Feuille2").Select
Range("A2:DN2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Base").Select
Range("A2:DN2").Select
ActiveSheet.Paste
End Sub


Je voudrais donc que le numéro de la ligne que je colle change en fonction de la valeur de la première colonne de cette ligne. Ainsi, si la première colonne indique le code "4", j'aimerais que ce soir la ligne A4:DN4 qui soit remplacée.

Encore une fois merci.

Alban
Avatar
Jacky
Bonsoir,

Exemple simple avec affichage d'un userform sur double click
Ici
http://cjoint.com/?DAFtwXtTFqE

--
Salutations
JJ


"AlbanT" a écrit dans le message de news:

Bonjour,

Je souhaite créer un formulaire pour un tableau avec plus de 300 colonnes. Mon
idée est donc d’avoir un classeur avec 3 Feuilles. La Feuilles 1 est ma base, la
feuille 2 est une feuille tampon et la Feuille 3 un formulaire qui affiche
joliment le contenu d’une ligne de ma base à l’aide d’un choix déroulant. Sur ce
formulaire je veux créer deux boutons de macro : un qui charge les données dans
les différentes cases en allant chercher la bonne référence dans la base en
fonction du choix déroulant, et un deuxième qui copie les éléments modifiés du
formulaire vers cette base. Je me sers de la feuille 2 pour « recréer » ma ligne
et ensuite la copier directement dans ma base avec la macro (afin d’alléger la
programmation).
Chaque ligne a un code, j’aimerais donc savoir si quelqu’un connait un moyen
simple d’avoir une Macro qui cherche la bonne ligne dans la base qui a ce code
(supposons que ce soit la colonne A) et qui remplace directement toute la ligne
par une nouvelle ligne.
Je ne suis pas un pro de VBA, j’ai trouvé sur des forums comment remplacer la
ligne en déterminant dans le code quelle ligne modifier mais je n’ai pas trouvé
le moyen de faire varier cette ligne en fonction d’un code.
Exemple :
Mon tableau est A1:C3
1 B B
2 B B
3 C B
Mon formulaire affiche la ligne 2 : 2 B B
Je modifie la ligne pour le deuxième B devienne D
Je veux désormais que la macro remplace dans la base la ligne 2 par ma nouvelle
ligne : 2 D B

Je vous remercie d’avance pour toute l’aide que vous pourriez m’apporter.

Alban
Avatar
albant
Le vendredi 31 Janvier 2014 à 18:39 par AlbanT :
Bonjour,

Je souhaite créer un formulaire pour un tableau avec plus de 300
colonnes. Mon idée est donc d’avoir un classeur avec 3 Feuilles.
La Feuilles 1 est ma base, la feuille 2 est une feuille tampon et la Feuille 3
un formulaire qui affiche joliment le contenu d’une ligne de ma base
à l’aide d’un choix déroulant. Sur ce formulaire je
veux créer deux boutons de macro : un qui charge les données dans
les différentes cases en allant chercher la bonne
référence dans la base en fonction du choix déroulant, et
un deuxième qui copie les éléments modifiés du
formulaire vers cette base. Je me sers de la feuille 2 pour «
recréer » ma ligne et ensuite la copier directement dans ma base
avec la macro (afin d’alléger la programmation).
Chaque ligne a un code, j’aimerais donc savoir si quelqu’un connait
un moyen simple d’avoir une Macro qui cherche la bonne ligne dans la base
qui a ce code (supposons que ce soit la colonne A) et qui remplace directement
toute la ligne par une nouvelle ligne.
Je ne suis pas un pro de VBA, j’ai trouvé sur des forums comment
remplacer la ligne en déterminant dans le code quelle ligne modifier
mais je n’ai pas trouvé le moyen de faire varier cette ligne en
fonction d’un code.
Exemple :
Mon tableau est A1:C3
1 B B
2 B B
3 C B
Mon formulaire affiche la ligne 2 : 2 B B
Je modifie la ligne pour le deuxième B devienne D
Je veux désormais que la macro remplace dans la base la ligne 2 par ma
nouvelle ligne : 2 D B

Je vous remercie d’avance pour toute l’aide que vous pourriez
m’apporter.

Alban


Bonjour,

Merci beaucoup. Je regarde ça ce soir chez moi dès que je peux ouvrir le lien.

Alban
Avatar
albant
Le vendredi 31 Janvier 2014 à 18:39 par AlbanT :
Bonjour,

Je souhaite créer un formulaire pour un tableau avec plus de 300
colonnes. Mon idée est donc d’avoir un classeur avec 3 Feuilles.
La Feuilles 1 est ma base, la feuille 2 est une feuille tampon et la Feuille 3
un formulaire qui affiche joliment le contenu d’une ligne de ma base
à l’aide d’un choix déroulant. Sur ce formulaire je
veux créer deux boutons de macro : un qui charge les données dans
les différentes cases en allant chercher la bonne
référence dans la base en fonction du choix déroulant, et
un deuxième qui copie les éléments modifiés du
formulaire vers cette base. Je me sers de la feuille 2 pour «
recréer » ma ligne et ensuite la copier directement dans ma base
avec la macro (afin d’alléger la programmation).
Chaque ligne a un code, j’aimerais donc savoir si quelqu’un connait
un moyen simple d’avoir une Macro qui cherche la bonne ligne dans la base
qui a ce code (supposons que ce soit la colonne A) et qui remplace directement
toute la ligne par une nouvelle ligne.
Je ne suis pas un pro de VBA, j’ai trouvé sur des forums comment
remplacer la ligne en déterminant dans le code quelle ligne modifier
mais je n’ai pas trouvé le moyen de faire varier cette ligne en
fonction d’un code.
Exemple :
Mon tableau est A1:C3
1 B B
2 B B
3 C B
Mon formulaire affiche la ligne 2 : 2 B B
Je modifie la ligne pour le deuxième B devienne D
Je veux désormais que la macro remplace dans la base la ligne 2 par ma
nouvelle ligne : 2 D B

Je vous remercie d’avance pour toute l’aide que vous pourriez
m’apporter.

Alban


Bonjour Jacky,

J'ai réussi à récupérer le fichier. Ce n'est pas tout à fait ce que je recherche à faire. Je ne veux pas que l'utilisateur ait accès à la base, ni utiliser un user form. En fait j'ai juste besoin d'une fonction qui me permet d'identifier la ligne que je veux copier dans une base en recherchant un code qui est dans la première colonne.

Bien à toi,

Alban
Avatar
Jacky
OK
Cette exemple récupère le n° de ligne selon la sélection dans une liste de validation
Regarde si cela convient mieux
http://cjoint.com/?DBdmdR05Tdn

--
Salutations
JJ


"albant" a écrit dans le message de news:

Le vendredi 31 Janvier 2014 à 18:39 par AlbanT :
Bonjour,

Je souhaite créer un formulaire pour un tableau avec plus de 300
colonnes. Mon idée est donc d’avoir un classeur avec 3 Feuilles.
La Feuilles 1 est ma base, la feuille 2 est une feuille tampon et la Feuille


3
un formulaire qui affiche joliment le contenu d’une ligne de ma base
à l’aide d’un choix déroulant. Sur ce formulaire je
veux créer deux boutons de macro : un qui charge les données dans
les différentes cases en allant chercher la bonne
référence dans la base en fonction du choix déroulant, et
un deuxième qui copie les éléments modifiés du
formulaire vers cette base. Je me sers de la feuille 2 pour «
recréer » ma ligne et ensuite la copier directement dans ma base
avec la macro (afin d’alléger la programmation).
Chaque ligne a un code, j’aimerais donc savoir si quelqu’un connait
un moyen simple d’avoir une Macro qui cherche la bonne ligne dans la base
qui a ce code (supposons que ce soit la colonne A) et qui remplace


directement
toute la ligne par une nouvelle ligne.
Je ne suis pas un pro de VBA, j’ai trouvé sur des forums comment
remplacer la ligne en déterminant dans le code quelle ligne modifier
mais je n’ai pas trouvé le moyen de faire varier cette ligne en
fonction d’un code.
Exemple :
Mon tableau est A1:C3
1 B B
2 B B
3 C B
Mon formulaire affiche la ligne 2 : 2 B B
Je modifie la ligne pour le deuxième B devienne D
Je veux désormais que la macro remplace dans la base la ligne 2 par ma
nouvelle ligne : 2 D B

Je vous remercie d’avance pour toute l’aide que vous pourriez
m’apporter.

Alban


Bonjour Jacky,

J'ai réussi à récupérer le fichier. Ce n'est pas tout à fait ce que je recherche
à faire. Je ne veux pas que l'utilisateur ait accès à la base, ni utiliser un
user form. En fait j'ai juste besoin d'une fonction qui me permet d'identifier
la ligne que je veux copier dans une base en recherchant un code qui est dans la
première colonne.

Bien à toi,

Alban
Avatar
albant
Le vendredi 31 Janvier 2014 à 18:39 par AlbanT :
Bonjour,

Je souhaite créer un formulaire pour un tableau avec plus de 300
colonnes. Mon idée est donc d’avoir un classeur avec 3 Feuilles.
La Feuilles 1 est ma base, la feuille 2 est une feuille tampon et la Feuille 3
un formulaire qui affiche joliment le contenu d’une ligne de ma base
à l’aide d’un choix déroulant. Sur ce formulaire je
veux créer deux boutons de macro : un qui charge les données dans
les différentes cases en allant chercher la bonne
référence dans la base en fonction du choix déroulant, et
un deuxième qui copie les éléments modifiés du
formulaire vers cette base. Je me sers de la feuille 2 pour «
recréer » ma ligne et ensuite la copier directement dans ma base
avec la macro (afin d’alléger la programmation).
Chaque ligne a un code, j’aimerais donc savoir si quelqu’un connait
un moyen simple d’avoir une Macro qui cherche la bonne ligne dans la base
qui a ce code (supposons que ce soit la colonne A) et qui remplace directement
toute la ligne par une nouvelle ligne.
Je ne suis pas un pro de VBA, j’ai trouvé sur des forums comment
remplacer la ligne en déterminant dans le code quelle ligne modifier
mais je n’ai pas trouvé le moyen de faire varier cette ligne en
fonction d’un code.
Exemple :
Mon tableau est A1:C3
1 B B
2 B B
3 C B
Mon formulaire affiche la ligne 2 : 2 B B
Je modifie la ligne pour le deuxième B devienne D
Je veux désormais que la macro remplace dans la base la ligne 2 par ma
nouvelle ligne : 2 D B

Je vous remercie d’avance pour toute l’aide que vous pourriez
m’apporter.

Alban


Bonjour,

Merci beaucoup, c'est parfait.

Ma Macro marche c'est nickel.

Alban