Copier les valeurs d'une colonne vers une autre avec condition [Résolu/Fermé]

Signaler
Messages postés
53
Date d'inscription
jeudi 21 février 2013
Statut
Membre
Dernière intervention
28 février 2019
-
Messages postés
53
Date d'inscription
jeudi 21 février 2013
Statut
Membre
Dernière intervention
28 février 2019
-
Bonjour,

Je souhaite copier des valeurs qui ce trouvent dans une colonne vers une autre, mais copier seulement un nombre precis de valeur en fonction d'une formule qui ce trouve sur ma feuille.

Voici mon code de départ sans la condition que je désir rajouter:

Sub transfert()

Dim derligne As Integer

derligne = Sheets("database_all").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("compilation").Range("C7:C10").Copy Sheets("database_all").Cells(derligne, 1)
End If
End Sub

La feuille "Compilation" est celle ou mes valeurs ce trouvent et "database_all" est celle ou mes données doivent-être copier. Maintenant, sur ma feuille compilation, j'ai une cellule ou ce trouve une formule qui génère un nombre, j'aimerais programmer ma macro pour qu'elle récupère le nombre que ma formule va générer qu'elle utilise le résultat pour établir le nombre de cellules à copier vers la base de donnée "database_all"

Exemple: Si ma formule égale à 2, bien j aimerais seulement copier les 2 premières cellule de ma plage dans sur la feuille "database_all".

Que dois-je rajouter sur mon code pour établir cette condition?


Merci à l'avance pour votre aide.

4 réponses

Messages postés
9578
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
12 octobre 2020
1 921
Bonjour


Essaies ceci

Sub transfert()
Dim derligne As Long, n As Long
derligne = Sheets("database_all").Range("A" & Rows.Count).End(xlUp).Row + 1
n = Sheets("compilation").Range(ta_cellule).Value
Sheets("compilation").Range("C7:C" & 6+n).Copy Sheets("database_all").Cells(derligne, 1)
End Sub

Cdlmnt
Messages postés
53
Date d'inscription
jeudi 21 février 2013
Statut
Membre
Dernière intervention
28 février 2019
1
Ca marche à merveille.

Un gros merci à toi ccm81!
Messages postés
53
Date d'inscription
jeudi 21 février 2013
Statut
Membre
Dernière intervention
28 février 2019
1
J'ai oublié de poser la question... dans ton code à quoi sert le chiffre 6 dans le 6+n?
Messages postés
9578
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
12 octobre 2020
1 921
ta selection commence en ligne 7
la plage (C7:Cxx) doit contenir n lignes donc xx = 6+n

ex pour n=4, 6+n = 10 et la plage est C7:C10 (4 lignes)

Cdlmnt
Messages postés
53
Date d'inscription
jeudi 21 février 2013
Statut
Membre
Dernière intervention
28 février 2019
1
Effectivement, merci pour la clarification.

Aux plaisirs