DECALER EXCEL

Fermé
GILOU - 22 mai 2008 à 15:54
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 28 oct. 2008 à 18:36
Bonjour,
Voici mon problème...
Dans un tableau Excel, j'ai une liste de codes dans une colonne.
Par exemple : CODE1 dans cellule A1, CODE2 dans cellule A2, CODE3 dans A3, etc.
Je souhaite reporter ces codes dans une colonne tout en insérant des cellules vierges entre chaque code.
Exemple : CODE1 passe en cellule B5, CODE2 passe en cellule B10, CODE3 en B15, etc.
Si qqu a une solution, j'en serai très heureux.
Merci d'avance.

PS : Ha oui, j'oubliais... Cette action doit pouvoir se faire automatiquement dès lors qu'un utilisateur renseigne la colonne A, et celà quelque soit le nombre de code.

Merci.
A voir également:

4 réponses

wanajo38 Messages postés 137 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 20 février 2015 62
22 mai 2008 à 22:26
Bonjour,

Juste avec une formule SI. Ca doit fonctionner.

Exemple : En cellule B5=SI(A1>0;A1;"")

Je sais pas trop si c'est le but recherché ? Si c'est ça, il n'y a plus qu'à faire des copier coller de la formule toutes les X lignes dans la colonne B. Je ne comprends pas bien le fonctionnement du tableau. Peut-on avoir plus de détail ?

Bonne continuation

Wanajo38
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
22 mai 2008 à 23:28
Bonsoir,

Clic-droit sur l'onglet de la feuille concernée et choisir 'visualiser le code'.
Coller dans la fenetre de code :
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:A65536")) Is Nothing Then Exit Sub
    Target.Offset((Target.Row * 5 - Target.Row), 1).Value = Target.Value
End Sub


Si tu veux que la macro ne réagisse pas sur l'ensemble de la colonne A il faut changer la plage A1:A65536
eric
0
bonjour Eric je suis le gilou du format conditionnel (" ") ! ! ! ! je suis interessé par ta macro "decaler" avec la
variante suivante
remplacer row par ligne si oui syntaxe pour ligne ?
remplacer 5 par le nb qui me convient
n'ayant pas encore essayé ton code pourquoi pas de end if
etant parfaitement novice / autodidacte / bricoleur ... J' ai remarqué qu'en demarant par option explicit cela pouvait
aider (à quoi?) de plus il m'est arrivé recement de coller un code en ayant pris soin en amont
dans l'onglet general> worsheet
dans declaration > change
de ne coller que la partie qui m'interessait c a d tout sauf private .....
lecode ne s'execute pas why???
MERCI je n'ai pas créé de nouvelle discussion
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
28 oct. 2008 à 18:36
Bonjour,

remplacer row par ligne si oui syntaxe pour ligne ?
ben ça tombe bien, row veut dire ligne...

remplacer 5 par le nb qui me convient
tu mets l'offset que tu veux

n'ayant pas encore essayé ton code pourquoi pas de end if
pke j'ai mis la fonction a executer (exit sub) sur la même ligne, après le then. On ne met endif que s'il y a 1 ou plusieurs lignes à executer inscrites sous le then.

etant parfaitement novice / autodidacte / bricoleur ... J' ai remarqué qu'en demarant par option explicit cela pouvait aider (à quoi?)
ça te force à déclarer les variables et a éviter les erreurs de frappes sur leur nom (bugs TRES difficiles à détecter). Si ta variable s'appelle 'listenoms' et que plus loin tu utilises 'listenom' tu pourras relire 5 fois tu ne verras pas que tu as oublié le s

de plus il m'est arrivé recement de coller un code en ayant pris soin en amont
dans l'onglet general> worsheet
dans declaration > change
de ne coller que la partie qui m'interessait c a d tout sauf private .....
lecode ne s'execute pas why???

pke tu as fait une erreur....

eric
0