Copier sur prochaine cellule vide
Résolu
Tikazor
Messages postés
17
Statut
Membre
-
Tikazor Messages postés 17 Statut Membre -
Tikazor Messages postés 17 Statut Membre -
Bonjour,
j'ai un tableau que je filtre, et au fur et à mesure je souhaite copier les différentes zones filtré sur le même onglet. J'utilise .currentregion pour selectionner la zone et .range() pour la destination. sauf que la zone de destination est fixe et je ne vois pas comment articuler le code différemment pour que le tableau se colle à la suite.
deux questions:
- comment codé pour avoir la prochaine cellule vide (voir la cell(0,2))
- y a t'il un code qui permet de copier juste la zone selectionnée (mise en surbrillance)??
Merci
voici mon code:
j'ai un tableau que je filtre, et au fur et à mesure je souhaite copier les différentes zones filtré sur le même onglet. J'utilise .currentregion pour selectionner la zone et .range() pour la destination. sauf que la zone de destination est fixe et je ne vois pas comment articuler le code différemment pour que le tableau se colle à la suite.
deux questions:
- comment codé pour avoir la prochaine cellule vide (voir la cell(0,2))
- y a t'il un code qui permet de copier juste la zone selectionnée (mise en surbrillance)??
Merci
voici mon code:
Sub CopieColle()
'exemple d'utilisation de la fonction "FeuilleExiste"
If Not Feuille_Existe(Sheets("Projet").Range("i1")) Then
With Sheets.Add
.Name = Sheets("Projet").Range("i1")
End With
Sheets("Projet").Range("C5:h25").Copy
Sheets(Sheets("Projet").Range("i1").Value).Range("C6").PasteSpecial xlPasteValues
Else
Sheets("Projet").Range("C5:h25").Copy
Sheets(Sheets("Projet").Range("i1").Value).Range("C6").PasteSpecial xlPasteValues
End If
End Sub
A voir également:
- Copier coller vide
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Dessin sms copier coller zizi ✓ - Forum Réseaux sociaux
- Copier coller pdf - Guide
- Coeur vide copier-coller - Forum Facebook
8 réponses
bonjour, merci de préciser "basic" quand tu partages du code VBA.
pour la seconde question, tu peux faire
peux-tu préciser ce que tu entends par "la prochaine cellule vide"?
est-ce, dans une colonne, ou une ligne, celle qui suit la dernière cellule remplie, ou bien as-tu des cellules vides au milieu?
ceci te sera peut-être utile: https://forums.commentcamarche.net/forum/affich-37622001-vba-detection-de-cellule-vide-ligne-colonnne
pour la seconde question, tu peux faire
Selection.Copy
peux-tu préciser ce que tu entends par "la prochaine cellule vide"?
est-ce, dans une colonne, ou une ligne, celle qui suit la dernière cellule remplie, ou bien as-tu des cellules vides au milieu?
ceci te sera peut-être utile: https://forums.commentcamarche.net/forum/affich-37622001-vba-detection-de-cellule-vide-ligne-colonnne
yg_be
Messages postés
24281
Statut
Contributeur
1 584
suggestion de code:
Merci des réponses rapides pas le temps de tester le code mais de repondre aux interrogations.
Je souhaite copier à la suite (en dessous) de la sélection que l'on vient de copier avec un écart de 1 a 2 ligne
Je souhaite copier à la suite (en dessous) de la sélection que l'on vient de copier avec un écart de 1 a 2 ligne
cela reste très flou, "en dessous de la sélection que l'on vient de copier avec un écart de 1 a 2 ligne".
tu ne montres qu'une seule copie, comment déterminer où la précédente a été faite?
comment décider si c'est une ou deux lignes?
que fait-on la première fois?
n'est-ce pas également juste en dessous de la dernière ligne remplie?
tu ne montres qu'une seule copie, comment déterminer où la précédente a été faite?
comment décider si c'est une ou deux lignes?
que fait-on la première fois?
n'est-ce pas également juste en dessous de la dernière ligne remplie?
Désolé, je n'ai pas tous les réflexes du langage vba (je débute) et je n'ai pas été assez explicite.
En effet le point de départ de la destinations de la 1ere copie n'a pas de préférence, comme il est indiqué sur le code range(c6) c'est très bien
Pour les autres copies effectivement il faut qu'à chaque fois le point de départ reste en colonne C, mais si la précédente copie faisait 16 ligne le point de départ serait range(c18), si la 2nde copie fait 30 lignes, la future copie commencerai en range(c50).. etc....
En effet le point de départ de la destinations de la 1ere copie n'a pas de préférence, comme il est indiqué sur le code range(c6) c'est très bien
Pour les autres copies effectivement il faut qu'à chaque fois le point de départ reste en colonne C, mais si la précédente copie faisait 16 ligne le point de départ serait range(c18), si la 2nde copie fait 30 lignes, la future copie commencerai en range(c50).. etc....
Non car en fonction du filtre ce sera un tableau différent. Le pourquoi du décalage à partir de la dernière ligne rempli
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai trouvé ça :
https://forums.commentcamarche.net/forum/affich-32998173-coller-sur-la-derniere-ligne
Je test dès que je peux!
https://forums.commentcamarche.net/forum/affich-32998173-coller-sur-la-derniere-ligne
Je test dès que je peux!
après test voici le code qui fonctionne avec le décalage de 2 cellules par rapport au dernière ligne remplie:
le seul inconvénient c'est que ça colle par défaut en cellule range A, le must aurait été en colonne C, mais je ne maitrise pas suffisament le code je chercherais demain!!
With Sheets(nomfeuille)
.Paste .Rows(.Cells(Rows.Count, 1).End(xlUp).Row + 3)
End With
le seul inconvénient c'est que ça colle par défaut en cellule range A, le must aurait été en colonne C, mais je ne maitrise pas suffisament le code je chercherais demain!!