|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : mai 2004 Messages : 61 ![]() |
Bonsoir,
J'avance un peu... Voici un code qui fonctionne, mais qui ne donne pas encore tout à fait ce que je souhaite... Pouvez-vous m'aider une fois de plus ? Merci d'avance !! En fait, je voudrais qu'à chaque fois que je fais une modif dans la colonne 3 les données soient mises en mémoire dans le tableau... Pour l'instant, je n'arrive qu'à mettre la dernière modif dans le tableau. J'ai essayé de faire une boucle For Each, mais je ne m'en sort pas... Il y a peut-être une autre méthode ? Alfred Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
peux-tu préciser ce que tu veux ? Cumuler les données ou... ??? sinon pour le N° de ligne, ceci suffit : cordialement, Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
20
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : mai 2004 Messages : 61 ![]() |
Bonjour Ormonth,
Merci pour le Target.Row... Je m'étais bien compliqué la vie.... Désolé de ne pas avoir été clair dans ma première demande, je vais essayer de reformuler de façon plus précise. Voici une partie de mon code : Code :
Si une cellule de la colonne 'C' est modifiée, on récupère le n° de la ligne modifiée, et, les données des colonnes A et C de cette même ligne, sont mises en mémoire dans un tableau. Ce que je voudrais faire : Si on modifie plusieurs cellules de la colonne 'C', à chaque fois qu'on modifie une cellule, on ajoute les données correspondantes dans le tableau. J'espère avoir été plus explicite... Merci d'avance pour votre aide. Cordialement, Alfred |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonjour,
Peut être de cette façon ? Code :
|
||
|
|
10
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mai 2004 Messages : 61 ![]() |
Merci beaucoup Hervé, je vais essayer !
Sinon, je vais à nouveau essayer d'être plus clair parce que je ne pense pas l'avoir été dans le post précédent... Un exemple en Français" : Si je modifie le contenu de la cellule C15, je mets les valeurs des cellules C15 et F15 dans la ligne 1 du tableau. Si ensuite je modifie la cellule C32, je voudrais mettre les valeurs des cellules C32 et F32 dans la ligne 2 du tableau. Et ainsi de suite jusqu'à ce que je clique sur un bouton qui envoie toutes les valeurs mises dans le tableau vers une autre feuille excel. (cette procédure existe déjà) Merci d'avance pour votre aide ! Alfred |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Re bonjour Alfred,
Tu parle des cellules en colonne C et F et dans ton code tu as les colonnes A et C ? Bon, j'ai modifié et le code que je t'ai donné fait ce que tu demande. Il y a juste un contrôle quand on arrive à 10 pour ne pas avoir l'erreur de la dimension qui n'existe pas. Attention, Dim Tableau(1 To 10, 1 To 2) est différent de Dim Tableau( 10, 2) car dans le premier cas tu as 20 "cellules" dans le second cas tu as 30 "cellules" dans ton tableau car en VB si on ne défini pas explicitement la base du tableau, il commence à 0 : Code :
Pour la récup un simple : Code :
Worksheets("Feuil2").Range("A" & UBound(Tableau, 2) & ":B" & UBound(Tableau, 1)) = Tableau |
||
|
|
20
|
|
|
#7 | ||
|
Invité régulier
![]() Inscription : mai 2004 Messages : 61 ![]() |
Merci beaucoup pour ton aide Hervé !!
Tu n'imagines pas depuis combien de temps je galère là-dessus ! J'ai encore une question : je ne trouve pas comment faire en sorte qu'une fois que les données du tableau sont envoyées vers l'autre fichier le tableau se vide. J'ai essayé de mettre Erase Tableau() a la fin de ma deuxième sub, mais ça ne fonctionne pas. Peux-tu me dire si il existe une instruction à mettre en début de code ? Je n'en trouve pas d'autre qu'Erase... Merci d'avance ! Alfred Voici le code : Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonsoir Alfred,
Erase vide le tableau mais ne modifie pas les dimensions donc, "Erase Tableau()" doit vider ton tableau. Une fois que tu as transférer tes données avec la proc "BoutonClic", exécute la proc ci-dessous et tu verras que dans la fenêtre d'exécution (Ctrl+G) tu n'aura que des <-> (10 fois) sans valeurs de parts et d'autres. Attention tout ton code doit être dans le module de la feuille ou alors, dans le cas contraire ton tableau doit être déclaré "Public" dans un module standard. Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com