[déplacé VB.NET -> VBA] copier colonnes si non vides dans premièe colonne non vi

freemoun Messages postés 4 Date d'inscription mardi 23 septembre 2008 Statut Membre Dernière intervention 14 décembre 2009 - 8 déc. 2009 à 16:10
freemoun Messages postés 4 Date d'inscription mardi 23 septembre 2008 Statut Membre Dernière intervention 14 décembre 2009 - 14 déc. 2009 à 17:25
Bonjour,
Je fait appel à votre aide car après avoir écumé les forums, je ne trouve pas comment réaliser ce que je veux faire. Je doit réaliser un outil pour faciliter la vie des commerciaux de la boîte où je suis en stage, et pour cela je me retourne le cerveau.
J'ai une feuille "budget classique"sur laquelle je récupère des dosages produits après que le client ait sélectionner ses produits dans la feuille "gamme classique".
J'ai donc un tableau avec pour titre les références produits, et dans chaque colonne les dosages produits en grammes pour le lavage et le prélavage(j'illustre):

Références........... l9P8F ... RE5Z3 ... ML3D6
nettoyage sols ...... 5 5...... 0 0..... 7 8
nettoyage vitres ..... 6 5..... 0 0..... 4 6
nettoyages surfaces .. 12 5.... 0 0..... 1 11

etc (les points sont la pour matérialiser les colonnes)

Je voudrais copier à la suite dans une troisième feuille "feuil1" les colonnes dans lesquelles les données sont différentes de zéro.
J'ai compris qu'il fallait que je fasse une boucle, que je fasse un copier coller vers la première colonne non vide, mais après plusieurs essai, je fait encore chou blanc.
Dernier essai en date (sans boucle):

Sub test_copier_coller()
Dim iLastCol As Integer
iLastCol = Cells.SpecialCells(xlLastCell).Column
Cells(1, iLastCol + 1).Select

If 0 <> Cells(16, 2) And Cells(16, 3) <> 0 Then Columns("b:c").Copy
If 0 <> Cells(16, 4) And Cells(16, 5) <> 0 Then Columns("d:e").Copy
If 0 <> Cells(16, 6) And Cells(16, 7) <> 0 Then Columns("f:g").Copy
With Sheets("feuil1").Columns(i + 1).Insert

End With
End Sub


Pourriez vous m'aider s'il vous plaît?
freemoun

4 réponses

freemoun Messages postés 4 Date d'inscription mardi 23 septembre 2008 Statut Membre Dernière intervention 14 décembre 2009
10 déc. 2009 à 11:01
Personne pour m'aider... Bon ben tant pis pour moi

freemoun
0
freemoun Messages postés 4 Date d'inscription mardi 23 septembre 2008 Statut Membre Dernière intervention 14 décembre 2009
10 déc. 2009 à 12:40
J'ai encore testé de nombreux codes mais soit je ne sait pas les adapter, soit je suis mal embouchée. Celui si me paraissait pourtant proche du but...

Sub test_copier_coller()
With Worksheets("budget classique(2)")
Dim i As Integer
Do While i < 255
If Cells(16, i) 0 And Cells(16, i + 1) 0 Then Range(Cells(16, i), Cells(26, i + 1)).Copy
Worksheets("feuil1").UsedRange.Activate
Selection.Past
Loop
End With
End Sub

Qu'elqu'un peut il me dire ce qui ne va pas?
S'il vous plaît, aidez moi!!! HELP

freemoun
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 déc. 2009 à 13:52
Bonjour,

Tu auras certainement une réponse valable lorsque tu auras bien voulu préciser ta question ...

Je voudrais copier à la suite dans une troisième feuille "feuil1" les colonnes dans lesquelles les données sont différentes de zéro


1) la colonne "Références" ne risque pas de contenir des 0 (c'est du texte)
2) quelles (autres, alors...) colonnes doivent être différentes de 0 ? toutes ou non ?
Et si pas toutes : que copie-t-on et om exactement sur l'autre feuille ? toutes les données ? seules celles différentes de 0 ?

Tes explications claires sur ce que tu veux faire sont nécessaires.
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
0
freemoun Messages postés 4 Date d'inscription mardi 23 septembre 2008 Statut Membre Dernière intervention 14 décembre 2009
14 déc. 2009 à 17:25
Merci d'avoir répondu. J'ai tout repris de zéro après m'être arraché les cheveux et j'abandonne mon idée que je n'arrive même pas à expliquer...
désolée du dérangement


freemoun
0
Rejoignez-nous