Copier Coller spécial VBA excel

Messages postés
8
Date d'inscription
mardi 21 juin 2016
Dernière intervention
2 mai 2017
- - Dernière réponse : levag
Messages postés
8
Date d'inscription
mardi 21 juin 2016
Dernière intervention
2 mai 2017
- 22 juin 2016 à 18:19
Bonjour à tous,

Tout d'abord un grand merci à tous ceux qui aident les débutants comme moi!

Ceci étant dit voici mon problème,

J'ai d'une part ces deux lignes: (je vous mets que les premières dates mais ça court sur toute l'année 2015)

1/1/2015 1/2/2015 1/3/2015 1/4/2015 1/5/2015 1/6/2015 1/7/2015
0 0 0 0 0 0 0

Et d'autres part ces deux colones:

Quantités Dates
105.10 07/20/2015
59.60 07/21/2015
-59.60 07/27/2015
99.70 08/10/2015
39.40 08/20/2015
51.00 08/27/2015
17.70 09/15/2015
59.30 09/15/2015
2.50 09/23/2015
11.90 09/28/2015
142.10 09/28/2015
17.20 10/20/2015
21.60 10/27/2015
35.70 11/03/2015

Ce que je voudrais faire c'est sélectionner la cellules 07/20/2015, parcourir la ligne des dates de l'année 2015 et lorsque je trouve la date je colle la quantités correspondante, donc ici 105.10 ft.

J'espère avoir été assez clair et merci de votre aide!!
Afficher la suite 

Votre réponse

8 réponses

Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
Bonjour,
Sois s'il te plait très précis (c'est une nécessité et non un luxe, en développement informatique).
Je suppose (puisqu'il me faut supposer) que tu veux coller la quantité dans la seconde ligne, même colonne.
Confirme.
Et détaille également ce mécanisme" :
Ce que je voudrais faire c'est sélectionner la cellules 07/20/2015

s'agit-il vraiment de "sélectionner" (ce qui veut dire manuellement, car si en développement ; ce n'est pas à coups de "select", etc ...), ou s'agit-il de parcourir tes "deux colonnes" et reporter les quantités lorsqu'une occurrence est trouvée ?
Commenter la réponse de ucfoutu
Messages postés
8
Date d'inscription
mardi 21 juin 2016
Dernière intervention
2 mai 2017
0
Merci
Ah oui désolé pas assez précis,

Ce que je souhaite c'est comparer la ligne de toute les dates de l'année 2015 avec ma cellule sélectionnée (j'avais pensé au cells().select pour la comparer avec la ligne des dates) et lorsqu'il y a une occurence (donc dans la ligne des dates 2015 je tombe sur le 07/20/2015) alors copier la quantité correspondante (dans mon exemple le nombre 105.10) et la coller en dessous de la date dans la ligne des dates de l'année 2015.

Est-ce plus clair?

Déso je démarre dans le code et la j'y arrive vraiment pas,

Merci,
Commenter la réponse de levag
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
Ce qui ne répond toujours pas avec précision à ma question pourtant précise, à savoir :
s'agit-il vraiment de "sélectionner" (ce qui veut dire manuellement, car si en développement ; ce n'est pas à coups de "select", etc ...), ou s'agit-il de parcourir tes "deux colonnes" et reporter les quantités lorsqu'une occurrence est trouvée ?

(en observant que ni la question, ni la réponse qu'elle appelle, ne nécessitent aucune connaissance en développement ... Ce n'est qu'une question et elle n'attend qu'une réponse) .

EDIT : lis-don le texte de ma signature ...

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
Et les questions ne sont pas finies, très loin de là, même ...
1) Où (sur quelle feuille et à quelles lignes sont tes "deux lignes") ?
2) Où (sur quelle feuille et à partir de quelle ligne et quelle colonne sont tes "deux colonnes") ?
3) toutes les lignes de tes "deux colonnes" ont-elles une "correspondance de date" dans tes "deux lignes" ? Et si oui : une seule possible ou non ?
Rien qu'en me lisant, tu vas découvrir la nécessité d'être très clair. Et cela montre que tu maîtrises ou non ta propre pensée ! Et cela est également plus des 3/4 du "chemin" ...


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu
Messages postés
8
Date d'inscription
mardi 21 juin 2016
Dernière intervention
2 mai 2017
0
Merci
Alors je vais reprendre depuis le début afin d'être le plus clair et précis possible:

Je n'ai qu'une feuille de calcul excel dans laquelle j'ai :

sur la ligne 8 et à partir de la colone 7 les dates de l'année 2015 (01/01/2015, 01/02/2015, 01/03/2015 [...] 12/29/2015,12/30/2015,12/31/2015).

sur la ligne 9 et à partir de la colone 7 des 0 sous les dates sus mentionnée

sur la colone 15 et de la ligne 15 à 37 j'ai différentes dates

sur la colone 14 et de la ligne 15 à 37 j'ai des nombres qui correspondent aux quantités vendues

Ce que je recherche à faire c'est écrire une macro qui:

sélectionne la cellule cells(15,15) au sens code (donc cells(15,15).select) puis parcoure les dates de la ligne 8 et lorsque la date de la ligne 8=cells(15,15) alors copier la cells(14,15) et la coller dans la cellule de la ligne 9 qui correspond à la date de la ligne 8 qui vient d'ètre trouvée. Une fois ce copier coller effectué passer à la cells(16,15) et recommencer l'opération jusqu'à ce que l'on atteigne la cells(37,15).
Commenter la réponse de levag
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
C'est déjà moins imprécis.
Il manque toutefois la réponse à ma question3), non ? Et cette réponse est très très très importante !

Et tu verras : lorsque l'on aura enfin tout (et donc la réponse 3) ===>> il n'y aura aucun Select ... (on ne travaille jamais à coups de select, mais directement avec les objets Excel !)
Commenter la réponse de ucfoutu
Messages postés
8
Date d'inscription
mardi 21 juin 2016
Dernière intervention
2 mai 2017
0
Merci
Ah pardon oui il n'y a qu'une seule correspondance possible!
Commenter la réponse de levag
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
Tu n'as répondu qu'à moitié !
Je dois allez dormir et ne compte pas passer mon temps à poser cette question une fois de plus.
Je vais donc considérer (et tant pis pour toi si ce n'est pas cela) que
toutes les lignes de tes "deux colonnes" ont une "correspondance de date" dans tes "deux lignes"


regarde alors :
Set plage = Range("N15:O37")
Set desti = Range("G8:AC9")
toto = WorksheetFunction.Transpose(plage)
desti.Value = toto
tata = Range("G9:AC9")
titi = Range("G8:AC8")
Range("G8:AC8").Value = tata
Range("G9:AC9").Value = titi

bonne nuit.

EDIT :
ce qui revient à écrire plus directement ainsi :

Range("G8:AC9").Value = WorksheetFunction.Transpose(Range("N15:O37"))
tata = Range("G9:AC9")
titi = Range("G8:AC8")
Range("G8:AC8").Value = tata
Range("G9:AC9").Value = titi


ou encore ainsi :
Range("G9:AC9").Value = WorksheetFunction.Transpose(Range("N15:N37"))
Range("G8:AC8").Value = WorksheetFunction.Transpose(Range("O15:O37"))


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
levag
Messages postés
8
Date d'inscription
mardi 21 juin 2016
Dernière intervention
2 mai 2017
-
Merci mais je ne cherche pas à faire un copier coller en transposant les colones en lignes. C'est bien plus compliqué que ça. Peut être que je ne m'exprime pas assez clairement, il me semble pourtant que c'est très clair si on prend le temps d'écrire ce que j'ai dit plus haut. Tant pis je vais essayer de faire ça tout seul,

merci quand meme
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
-
Bonjour,
Une simple formule RechercheV ne suffirait pas ?
levag
Messages postés
8
Date d'inscription
mardi 21 juin 2016
Dernière intervention
2 mai 2017
> cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
-
Ah bah oui!!!! Je suis sur ce code depuis 4 jours alors qu'un simple RechercheV suffit!! Merci milles fois!
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.