Copier/coller dans ligne suivante vide
Résolu
wuhrlinanthony
Messages postés
57
Statut
Membre
-
Le Pingou Messages postés 12639 Statut Contributeur -
Le Pingou Messages postés 12639 Statut Contributeur -
Bonjour, j'aurai besoin de votre aide.
J'ai cherché sur le site avant de poser cette question mais je ne suis pas arriver a utiliser ce que je trouvais pour mon cas.
Je voudrais copier des données de la feuille 1 et les coller dans la feuille 2 en collant a chaque fois sur la cellule suivante vide car mon premier tableau a des cellules vides et et je ne veux pas les copier.
Et cela pour plusieurs tableau l'un en-dessous de l'autre.
Je suis arriver a créer la macro pour un tableau qui copie les données sans laisser de cellules vides mais avec un autre tableau en dessous, cela créer des erreurs.
Je vous joint ce fichier : https://www.cjoint.com/c/EIomVvEhXOU
Cela vous parlera plus ^^
Merci beaucoup pour ce qui peuvent m'aider.
J'ai cherché sur le site avant de poser cette question mais je ne suis pas arriver a utiliser ce que je trouvais pour mon cas.
Je voudrais copier des données de la feuille 1 et les coller dans la feuille 2 en collant a chaque fois sur la cellule suivante vide car mon premier tableau a des cellules vides et et je ne veux pas les copier.
Et cela pour plusieurs tableau l'un en-dessous de l'autre.
Je suis arriver a créer la macro pour un tableau qui copie les données sans laisser de cellules vides mais avec un autre tableau en dessous, cela créer des erreurs.
Je vous joint ce fichier : https://www.cjoint.com/c/EIomVvEhXOU
Cela vous parlera plus ^^
Merci beaucoup pour ce qui peuvent m'aider.
A voir également:
- Copier du vide
- Supprimer page word vide - Guide
- Comment copier une vidéo youtube - Guide
- Caractere vide - Guide
- Super copier - Télécharger - Gestion de fichiers
- Coeur vide ✓ - Forum Facebook
5 réponses
Bonjour,
Petite question : est-ce que les 3 tableaux de la feuille 1 sont fixes .... ?
Vous dites : Je suis arrivé à créer la macro pour un tableau qui copie...
Mais elle est invisible dans votre exemple.... !
Salutations.
Le Pingou
Petite question : est-ce que les 3 tableaux de la feuille 1 sont fixes .... ?
Vous dites : Je suis arrivé à créer la macro pour un tableau qui copie...
Mais elle est invisible dans votre exemple.... !
Salutations.
Le Pingou
Bonjour,
pour bien commencer bonjour.
Il est fixe donc pas d'ajout de ligne pour des nouvelles données.
Ou est votre essai de macro ....!
pour bien commencer bonjour.
Il est fixe donc pas d'ajout de ligne pour des nouvelles données.
Ou est votre essai de macro ....!
Désolé , j'avais fait un fichier avec et sans macro .
https://www.cjoint.com/c/EIonCZT1apU
Voila le lien. Le code peut faire mal au yeux ^^, je débute en vba donc c'est assez basique.
https://www.cjoint.com/c/EIonCZT1apU
Voila le lien. Le code peut faire mal au yeux ^^, je débute en vba donc c'est assez basique.
Vraiment désolé ! Je viens de voir, j'ai du faire une erreur , je l'ai perdue.
Je l'écris ici , ca sera plus simple :
Sub Synthèse()
Dim C As Long
For C = 4 To 16
'Question 1
If Sheets("Feuil1").Cells(5, C).Value <> 0 Then
If Sheets("Feuil1").Cells(5, C) < 1.60 Then
Sheets("Feuil1").Cells(4, C).Copy
Sheets("Feuil2").Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Sheets("Feuil1").Cells(6, C).Copy
Sheets("Feuil2").Range("C65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
ElseIf Sheets("Feuil1").Cells(5, C) >= 1.60 And WsTr.Cells(5, C) <= 1.90
Sheets("Feuil1").Cells(4, C).Copy
Sheets("Feuil2").Range("E65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Sheets("Feuil1").Cells(6, C).Copy
Sheets("Feuil2").Range("F65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
ElseIf Sheets("Feuil1").Cells(5, C) >1.90 Then
Sheets("Feuil1").Cells(4, C).Copy
Sheets("Feuil2").Range("H65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Sheets("Feuil1").Cells(6, C).Copy
Sheets("Feuil2").Range("I65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
End If
End If
Next
End Sub
Je l'écris ici , ca sera plus simple :
Sub Synthèse()
Dim C As Long
For C = 4 To 16
'Question 1
If Sheets("Feuil1").Cells(5, C).Value <> 0 Then
If Sheets("Feuil1").Cells(5, C) < 1.60 Then
Sheets("Feuil1").Cells(4, C).Copy
Sheets("Feuil2").Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Sheets("Feuil1").Cells(6, C).Copy
Sheets("Feuil2").Range("C65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
ElseIf Sheets("Feuil1").Cells(5, C) >= 1.60 And WsTr.Cells(5, C) <= 1.90
Sheets("Feuil1").Cells(4, C).Copy
Sheets("Feuil2").Range("E65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Sheets("Feuil1").Cells(6, C).Copy
Sheets("Feuil2").Range("F65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
ElseIf Sheets("Feuil1").Cells(5, C) >1.90 Then
Sheets("Feuil1").Cells(4, C).Copy
Sheets("Feuil2").Range("H65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Sheets("Feuil1").Cells(6, C).Copy
Sheets("Feuil2").Range("I65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
End If
End If
Next
End Sub
Anthony,
Plutôt que de copier du code à réutiliser, essaie de comprendre... 65536 était le dernière ligne d'un fichier Excel dans des versions antérieures. xlUp fait vérifier vers le haut quelle est la dernière cellule non vide. Ce serait utilisable si tu remplaçais 65536 par la dernière ligne de chaque tableau de synthèse (Q1, Q2, Q3), sinon tu remplis systématiquement le dernier.
Bon, je propose un autre code :
A+
Plutôt que de copier du code à réutiliser, essaie de comprendre... 65536 était le dernière ligne d'un fichier Excel dans des versions antérieures. xlUp fait vérifier vers le haut quelle est la dernière cellule non vide. Ce serait utilisable si tu remplaçais 65536 par la dernière ligne de chaque tableau de synthèse (Q1, Q2, Q3), sinon tu remplis systématiquement le dernier.
Bon, je propose un autre code :
Sub Synthese()
Dim C As Long
r1 = 6
r2 = 13
r3 = 19
p1 = 7
m1 = 7
g1 = 7
p2 = 31
m2 = 31
g2 = 31
p3 = 54
m3 = 54
g3 = 54
For C = 4 To 16
'Question1
r = r1
taille = Sheets("Feuil1").Cells(r - 1, C).Value
If taille <> 0 Then
If taille < 1.6 Then
Sheets("Feuil2").Cells(p1, 2).Value = Sheets("Feuil1").Cells(r - 2, C).Value
Sheets("Feuil2").Cells(p1, 3).Value = Sheets("Feuil1").Cells(r, C).Value
p1 = p1 + 1
ElseIf taille > 1.9 Then
Sheets("Feuil2").Cells(g1, 5).Value = Sheets("Feuil1").Cells(r - 2, C).Value
Sheets("Feuil2").Cells(g1, 6).Value = Sheets("Feuil1").Cells(r, C).Value
g1 = g1 + 1
Else
Sheets("Feuil2").Cells(m1, 8).Value = Sheets("Feuil1").Cells(r - 2, C).Value
Sheets("Feuil2").Cells(m1, 9).Value = Sheets("Feuil1").Cells(r, C).Value
m1 = m1 + 1
End If
End If
'Question2
r = r2
taille = Sheets("Feuil1").Cells(r - 1, C).Value
If taille <> 0 Then
If taille < 1.6 Then
Sheets("Feuil2").Cells(p2, 2).Value = Sheets("Feuil1").Cells(r - 2, C).Value
Sheets("Feuil2").Cells(p2, 3).Value = Sheets("Feuil1").Cells(r, C).Value
p2 = p2 + 1
ElseIf taille > 1.9 Then
Sheets("Feuil2").Cells(g2, 5).Value = Sheets("Feuil1").Cells(r - 2, C).Value
Sheets("Feuil2").Cells(g2, 6).Value = Sheets("Feuil1").Cells(r, C).Value
g2 = g2 + 1
Else
Sheets("Feuil2").Cells(m2, 8).Value = Sheets("Feuil1").Cells(r - 2, C).Value
Sheets("Feuil2").Cells(m2, 9).Value = Sheets("Feuil1").Cells(r, C).Value
m2 = m2 + 1
End If
End If
'Question3
r = r3
taille = Sheets("Feuil1").Cells(r - 1, C).Value
If taille <> 0 Then
If taille < 1.6 Then
Sheets("Feuil2").Cells(p3, 2).Value = Sheets("Feuil1").Cells(r - 2, C).Value
Sheets("Feuil2").Cells(p3, 3).Value = Sheets("Feuil1").Cells(r, C).Value
p3 = p3 + 1
ElseIf taille > 1.9 Then
Sheets("Feuil2").Cells(g3, 5).Value = Sheets("Feuil1").Cells(r - 2, C).Value
Sheets("Feuil2").Cells(g3, 6).Value = Sheets("Feuil1").Cells(r, C).Value
g3 = g3 + 1
Else
Sheets("Feuil2").Cells(m3, 8).Value = Sheets("Feuil1").Cells(r - 2, C).Value
Sheets("Feuil2").Cells(m3, 9).Value = Sheets("Feuil1").Cells(r, C).Value
m3 = m3 + 1
End If
End If
Next C
End Sub
A+
Zoul 67,
Merci beaucoup pour ton code. Dans mon ancien code je savais que 65536 que c'était la dernière ligne d'un fichier Excel mais je ne voyais pas comment passer sur la question d'après. xlUp fait vérifier vers le haut (je le savais aussi ^^) mais quand je mettait xlDown Excel me mettait une erreur. C'est pour cela que je ne comprenait pas .
En tout cas merci beaucoup, ca me permet de mieux comprendre la vision qu'il faut pour créer un code.
Au revoir.
Merci beaucoup pour ton code. Dans mon ancien code je savais que 65536 que c'était la dernière ligne d'un fichier Excel mais je ne voyais pas comment passer sur la question d'après. xlUp fait vérifier vers le haut (je le savais aussi ^^) mais quand je mettait xlDown Excel me mettait une erreur. C'est pour cela que je ne comprenait pas .
En tout cas merci beaucoup, ca me permet de mieux comprendre la vision qu'il faut pour créer un code.
Au revoir.
Bonjour,
Je suis aussi désolé que vous mais le code n'y est pas ..... !
Faites donc un petit détour par là ...
Je suis aussi désolé que vous mais le code n'y est pas ..... !
Faites donc un petit détour par là ...
Bonjour ,
Veuillez m'excuser d'avoir oublier les formules de politesses, j'ai réécris rapidement la macro pour que ce soit plus compréhensible avec le fichier Excel . Votre aide m'est important car j'apprend petit à petit le code vba mais il y a des choses encore trop compliquer pour moi. En tout cas j'essaye de faire mon maximum pour apprendre.
Merci d'avance de votre aide que vous voudriez bien me donner pour mon problème.
Veuillez m'excuser d'avoir oublier les formules de politesses, j'ai réécris rapidement la macro pour que ce soit plus compréhensible avec le fichier Excel . Votre aide m'est important car j'apprend petit à petit le code vba mais il y a des choses encore trop compliquer pour moi. En tout cas j'essaye de faire mon maximum pour apprendre.
Merci d'avance de votre aide que vous voudriez bien me donner pour mon problème.
Bonjour,
Voila finalement le fichier excel avec la macro :
https://www.cjoint.com/c/EIoohpcGrvU
Si vous pouvez y jeter un coup d'oeil s.v.p., ce serait super.
Merci.
Voila finalement le fichier excel avec la macro :
https://www.cjoint.com/c/EIoohpcGrvU
Si vous pouvez y jeter un coup d'oeil s.v.p., ce serait super.
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Merci pour les informations.
Je vais regarder votre code et y apporter les adaptations nécessaires pour votre application.
Patience, dans la soirée.
Merci pour les informations.
Je vais regarder votre code et y apporter les adaptations nécessaires pour votre application.
Patience, dans la soirée.
Bonjour Le Pingou,
J'ai répondu là : https://forums.commentcamarche.net/forum/affich-32529489-copier-coller-dans-ligne-suivante-vide#12
Peut-être n'as-tu pas besoin de te casser la tête...
A+
J'ai répondu là : https://forums.commentcamarche.net/forum/affich-32529489-copier-coller-dans-ligne-suivante-vide#12
Peut-être n'as-tu pas besoin de te casser la tête...
A+
C'est bien dommage qu'on ne puisse pas changer leur style.
Nom / Taille / Réponse1 / Réponse2 / Réponse3
serait tellement plus joli et facilement exploitable.
A+
Oui je suis d'accord, mais je n'ai pas le dernier mot..(mon boss). Donc si quelqu'un peut m'aider avec mon cas s.v.p. je pourrais apprendre un peu plus en VBA.
Merci.
wuhrlinanthony