supprimer un champ sans perdre données...

D

discret13

Guest
Bonjour tout le monde

Je "bidouille" sur excel, mais bon......
J'ai un fichier avec 3 champs. Le 1° champ date et les deux autres, de type numérique. (sachant que si le champ 2 est rempli, le champ 3 vide, et vice versa).
Je voudrais faire une macro me permettant de faire glisser les valeurs du champ 3 vers le champ 2, puis de supprimer le champ 3, devenu vide.

Merci pour vos réponses et éventuellement pour votre aide.
Daniel
 
E

EricS

Guest
Bonjour Daniel

Essaie la pièce jointe pour voir

La macro détermine d'abord la longueur du tableau en se basabt sur le champ date, puis regarde le contenu de la colonne 3 ligne par ligne

Tiens moi au courant
A+
 

Pièces jointes

  • copiecol3verscol2.zip
    8.3 KB · Affichages: 20
B

Bernard

Guest
Bonjour Daniel et EricS

Une variante de la macro d'Eric

Le transfert de C3 en C2 se fait directement par Cut.

J'ai gardé la sécurité de première ligne.

cordialement

Bernard
 

Pièces jointes

  • CouperC3C2.zip
    8.5 KB · Affichages: 31
D

discret13

Guest
Bonsoir à tous
Bsoir Eric, et Bernard

Merci pour vos réponses, les deux propositions fonctionnent. J'aimerais savoir la différence entre les deux "formules" et que signifie (pour Bernard) "sécurité de première ligne".

PS: pardon, mais suis débutant en VBA.

Merci en tous cas pour votre aide

Daniel
 
D

discret13

Guest
Re Eric et Bernard

Je me suis emballé un peu trop vite...
En fait quand je transpose l'une ou l'autre des macros sur mon fichier (mme présentation 3 colonnes), et bien ma colonne 3 se copie en 2 mais efface les données de la colone 2.
J'ai pris des données de mon fichier, les ai rajoutées a vos fichiers exemple, et idem, vos données sont bien regroupées dans la colonne 2, mais les miennes viennent en 2 , les blancs du 3 écrasant les données du 2...
Je sais pas si je m'exprime bien, mais c'est une histoire de fou.....
Bon j'y retourne, je réfléchi encore
Merci
Daniel
 
D

discret13

Guest
Bonsoir tout le monde
bonsoir Bernard

Merci de ton aide. Je viens d'essayer ton astuce, rien à faire.
Les champs colonne 3 même vides écrasent les champs colonne 2 remplis.
Je tourne en rond, une histoire de fous, car les 2 macros proposées fonctionnent avec vos fichers exemples respectifs. Si je rajoute manuellement des données c'est ok aussi. Si j'importe mes données, ca ne fonctionne plus. J'ai même essayé de changer le format de mes données, ...rien a faire.

Ben merci tout de même
Daniel
 
E

EricS

Guest
Je pense que tes cellules de la colonne c ne sont pas vides et contiennent des espaces

pour le vérifier, clique sur une cellule de c "vide" puis clique sur la droite de la barre de formule, ton curseur ne devrait pas se placer complètement à gauche

vérifie et tiens moi au courant car je pense que sur mon fichier, cela fonctionne car les cellules vides de c sont vraiment vides

A+
 
C

CHti160

Guest
salut "discret13"
bonsoir à tous
je pense que le problème doit venir du fait que tes cellules apparemment vides contiennent une formule d'ou le hic
mais je pense qu'une solution a dejà été donnée sur le "Forum" pour résoudre ce problème;
a vérifier
A+++
Jean Marie
 
D

discret13

Guest
Bonjour à tous
Bonjour Bernard, Eric et Jean Marie

Déjà merci pour vos réponse. Effectivement, les champs "vides" ne le sont pas. je les ai "vidés" et ça fonctionne.
Mais mon problème n'est pas autant résolu, car je voulais faire un automatisme, don je voudrais éviter d'éffacer manuellement les cellules dites vides en apparence.
Jean MArie fait allusion à la possibilité du sujet déja traité. Je vais effectuer des recherches et si vous trouvez dites le moi aussi.
Encore merci à tous
Daniel
 
D

discret13

Guest
Re Bernard, Eric et Jean Marie

Je pene avoir trouvé la solution. Mes champs en apparence vides contiennent un espace. (Je précise que ce sont des fichiers de données qui me sont livrés ainsi)
J'ai pris la macro porposée par Bernard et j'ai modifié la ligne:

If ActiveCell.Value <> "" Then

en

If ActiveCell.Value <> " " Then

En fait j'ai mis un espace entre les guuillemets, et tout semble fonctionner.

Merci encore pour votre aide préciseue qui m'a permis de faire ce petit truc.
t à bient^tit pour d'autres questions.
Daniel
 
D

discret13

Guest
Re bonjour tout le monde

En fait, ce que je viens de dire semble vrai, mais pas forcément stable (si je modifie un poil mon fichier origien, ce qui n'est prévu, mais....) je me rends compte que ça ne fonctionne plus vraiment avec garantie
Pour être stable, il faudrait dire à la macro, si le champ de la colonne "x" est différent de "vide" ou différent de "space", alos recopier la valeur, sinon laisser comme ça...
C'est un peu simpliste ce que je dis, mais j'essaye de raisonner logiquement.

J'ai fait des essais avec les or.... mais, suis nul....
A plus et merci
Daniel
 

Discussions similaires

Statistiques des forums

Discussions
314 162
Messages
2 106 599
Membres
109 637
dernier inscrit
lafforest