Macro copier/coller plusieurs cellules

Résolu/Fermé
lynkyn - 10 déc. 2010 à 11:24
 lynkyn - 10 déc. 2010 à 16:02
Bonjour à tous !

Une nouvelle fois, je viens ici pour votre précieuse aide !

Je fais un tableur avec des données en colonnes :
en colonne A : numero de service
en colonne B : numero de lecteur
en colonne C : commentaire
.
.
.
etc...

Sur la même feuille du classeur, j'ai mis en forme un texte (texte ecrit dans les cellules). A certains endroits de ce texte il y a des cellules vides.

Je voudrais avoir une macro (pouvant en regrouper plusieurs) qui permettrait de copier les cellules de mes colonnes pour les coller la ou ou j'ai laisser des cellules vides dans le texte.

Je m'explique :
A1, B1, C1 sont remplis (texte ou chiffre).
Je veux que respectivement :
- A1 soit copier/coller en O13
- B1 soit copier/coller en Q20
- C1 soit copier/coller en K26 tout cela par une manip'.

Cependant dans mon tableau avec les colonnes A,B,C,etc..., je rajouterais des lignes; A2 B2 C2, A3 B3 C3, etc, seront remplies, et ainsi de suite au fil du temps. Je voudrais donc que la macro copier/coller fonctionne sur ces lignes la et fasse :
- A2 pourra etre copier/coller en O13
- B2 pourra etre copier/coller en Q20
- C2 pourra etre copier/coller en K26

Il faut comprendre que le tableau de base peut être considéré comme une base de données. Mais je veux resté avec excel et ne pas faire de publipostage.

Merci de votre compréhension et de votre aide future !

<config>Windows 2000 Pro/ Internet Explorer 6.0</Excel97config>
A voir également:

5 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
10 déc. 2010 à 12:19
Bonjour,
En fait, pour faire ceci, pas besoin d'une macro. Une simple formule DECALER vous suffit.
Soit en colonnes A, B et C les mots à ajouter à votre texte. En D1, vous réservez cette cellule pour indiquer le numéro de la ligne contenant les mots en Col A, B et C.
Ensuite, en O13 :
=SI(D1="";"";DECALER(A1;D1-1;0))
en Q20 :
=SI(D1="";"";DECALER(B1;D1-1;0))
en K26 :
=SI(D1="";"";DECALER(C1;D1-1;0))
Et voilà...
Un fichier exemple???
0
Merci beaucoup !
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
10 déc. 2010 à 14:40
de rien
a+
0
En faite, ca ne marche pas...
Ma cellule ou je mais le numero de ma ligne est H3 (c'est une cellule fusionnées, ca pose pb ?)
De plus la ligne 1 n'a pas de onnées mais le nom de mes colonnes.
Mais je ne pense pas que cela pause souci.
Je ne vois pas ou est le problème...
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié par pijaku le 10/12/2010 à 15:34
En fait, ça marche. Suffit de l'adapter à votre situation...
Dans la formule, il n'est pas tenu compte de ligne de titre*. Donc remplacer :
=SI(H3="";"";DECALER(A1;H3-1;0))
par :
=SI(H3="";"";DECALER(A1;H3;0))

ps : je vous ai adapté en même temps pour la cell H3...
tu dis...

*Mais cela en essayant, vous auriez du vous rendre compte qu'il prenait les valeurs de la ligne précédente non?
0
En faite, il me met la formule...
Heu je crois d'ou vient le pb...
Toutes les cellules de ma feuille sont en texte...
J'essaye d'enlever ca.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
10 déc. 2010 à 15:42
Rien à voir avec le format de cellule.
Si Excel vous indique la formule dans la cellule, 3 choix :
1- vous avez mis un ' devant le signe =
2- vous n'avez pas mis le signe =
3- Outils/Options onglet "affichage" dans "fenêtres" décocher "formules"

Si quelqu'un voit d'autres raisons qu'il (elle) n'hésite pas...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
C'est bon, j'ai réussi.
Merci !!!
0