recopier des cellules en automatique

tibofo

XLDnaute Nouveau
Bonjour,

J'ai besoin de votre aide. Dans une de mes applications, j'utilise un fichier Excel comme base tarifaire. Mais le fait que le fichier ne soit pas renseigné dans toutes les cellules me pose beaucoup de problèmes.

Le + simple serait, pour moi, de renseigner toutes les cellules vides pour que mon autre programme fonctionne avec. Mais mon fichier Excel est volumineux.
Donc c'est pratiquement impensable de vouloir le faire à la main.

Je ne suis pas du tout spécialiste de l'utilisation du VBA dans Excel : je connais VBA dans Access (mais sans utilisation avec Excel) et je ne sais pas du tout comment faire. Je ne cherche pas à ce que qq'un me fasse tout mais si vous pouviez me guider ce serait super sympa. :)

J'essaye d'expliquer mon besoin :
sur une plage de la colonne C à la colonne O, je veux recopier vers la droite, le prix indiqué dans la colonne C jusqu'à ce qu'une cellule non vide soit rencontrée. Puis repartir de celle-ci, recopier vers la droite et ainsi de suite.

J'ai conscience que c'est pas forcément clair alors je joins un extrait de mon fichier avec ce que je souhaite obtenir en automatique. (les chiffres en rouge)

Merci si vous pouvez m'aider
 

Pièces jointes

  • TARIFSforum.xls
    29.5 KB · Affichages: 66
  • TARIFSforum.xls
    29.5 KB · Affichages: 64
  • TARIFSforum.xls
    29.5 KB · Affichages: 68

Hpotter

XLDnaute Junior
Re : recopier des cellules en automatique

Bonjour,

J'ai fais ce que j'ai compris dans ton tableau.
Regarde dans les cellules à partir de C19
 

Pièces jointes

  • TARIFSforum.xls
    39 KB · Affichages: 55
  • TARIFSforum.xls
    39 KB · Affichages: 59
  • TARIFSforum.xls
    39 KB · Affichages: 61

tibofo

XLDnaute Nouveau
Re : recopier des cellules en automatique

Bonjour,

un gd merci pour votre intérêt.

Malheureusement cela ne réponds pas à mon besoin : pour la première ligne c'est bon !
J'ai changé la formule en :
Code:
=SI(RECHERCHEV(B19;$B$3:$O$15;2;FAUX)="";$C$3;RECHERCHEV(B19;$B$3:$O$15;2;FAUX))
Mais si j'étire la formule sur tous le bloc voulu de mon tableau,
j'obtiens des " #N/A "

Alors j'ai essayé ça :
Code:
=SI(RECHERCHEV($B19;$B$3:$O$15;2;FAUX)="";$C$3;RECHERCHEV($B19;$B$3:$O$15;2;FAUX))
C'est bon pour les 2 premières lignes, à partir de la 3ème c'est faux

la 3ème contient en C21 : 111 et en E21: 103
au lieu d'obtenir : de C21 à O21 :
111-111-103-103-103-103-103-103-103-103-103-103-103

j'obtiens:
111-111-111-111-111-111-111-111-111-111-111

Savez-vous ce que je peux changer ? :confused:
 

Sofhy

XLDnaute Occasionnel
Re : recopier des cellules en automatique

Bonjour le fil,

Alors déjà, erreur de ma part, il ne faut pas retirer les deux$$, mais juste celui de droite, $B19. Maintenant tu peux l'étirer sur la droite.
Code:
=SI(RECHERCHEV($B19;$B$3:$O$15;2;FAUX)="";$C$3;RECHERCHEV($B19;$B$3:$O$15;2;FAUX))

Ensuite, en colonne C, tu as (extrait) RECHERCHEV($B19;$B$3:$O$15;2;FAUX))
2, indique que tu interroge la colonne C, ce qui veut dire qu'en D19, tu dois remplacer 2 par 3, en E19, 2 par 4, ...

Ca devrait fonctionner.
A++
Sofhy
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 312
Membres
102 860
dernier inscrit
fredo67