Copier en valeurs une plage sous une autre plage
Résolu/Fermé
Koalacid
Messages postés
70
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
8 mars 2016
-
2 oct. 2014 à 10:18
Koalacid Messages postés 70 Date d'inscription vendredi 5 septembre 2014 Statut Membre Dernière intervention 8 mars 2016 - 7 oct. 2014 à 17:24
Koalacid Messages postés 70 Date d'inscription vendredi 5 septembre 2014 Statut Membre Dernière intervention 8 mars 2016 - 7 oct. 2014 à 17:24
A voir également:
- Copier en valeurs une plage sous une autre plage
- Copier une vidéo youtube - Guide
- Comment faire une liste déroulante dans excel à partir d'une plage nommée ? - Guide
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image d’ours polaire sur une image de plage. retrouvez l'image originale de la plage. que cache l'ours polaire ? - Forum Graphisme
- Sur la plage... - Forum Loisirs / Divertissements
- Visualiser une image présente dans le cache ✓ - Forum Google Chrome
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
2 oct. 2014 à 10:25
2 oct. 2014 à 10:25
Bonjour,
Voici ton code commenté et corrigé :
Voici ton code commenté et corrigé :
Public Sub BC1() 'variables Dim i As Integer, derlig As Long 'ici on travaille dans la feuille Feuil1 => feuille concernée par le "copié" With Sheets("feuil1") 'concerne les lignes de la Feuil1 de 1 à 10 For i = 1 To 10 'si, dans ces lignes F n'est pas vide, B = "" (égale rien), C = "" Alors If Not IsEmpty(.Range("F" & i)) And .Range("B" & i).Value = "" And .Range("C" & i).Value = "" Then 'derlig est une variable qui va contenir le numéro de la première ligne vide de la feuil2 colonne A (là ou on va coller) derlig = Sheets("feuil2").Range("A65536").End(xlUp).Row + 1 'Copié - collé .Rows(i).Copy Sheets("feuil2").Range("A" & derlig) 'j'ai remplacé i par derlig (ou coller les données) End If Next i End With End Sub
Koalacid
Messages postés
70
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
8 mars 2016
2
2 oct. 2014 à 14:16
2 oct. 2014 à 14:16
Yes, merci!
Je vais tester ça cet après-midi.
En tout cas c'est devenu bien plus clair comme ça.
C'est toujours mieux de savoir exactement ce qu'on est entrain de coder plutôt que de bêtement recopier! ^^
Koala
Je vais tester ça cet après-midi.
En tout cas c'est devenu bien plus clair comme ça.
C'est toujours mieux de savoir exactement ce qu'on est entrain de coder plutôt que de bêtement recopier! ^^
Koala
Koalacid
Messages postés
70
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
8 mars 2016
2
Modifié par Koalacid le 7/10/2014 à 15:02
Modifié par Koalacid le 7/10/2014 à 15:02
Heelo,
Je m'excuse du retard, j'ai été assez pris ces derniers temps.
Lorsque j'exécute la macro, elle me renvoie un message sur la ligen de code qui ne fonctionne pas (surlignée en jaune).
Cette partie:
J'ai pourtant changé le nom de la feuil2 en Histo.
Je ne vois pas ce qu'il y a d'incorrect.
Merci encore
Cordialement,
Je m'excuse du retard, j'ai été assez pris ces derniers temps.
Lorsque j'exécute la macro, elle me renvoie un message sur la ligen de code qui ne fonctionne pas (surlignée en jaune).
Cette partie:
derlig = Sheets("feuil2").Range("A65536").End(xlUp).Row + 1
J'ai pourtant changé le nom de la feuil2 en Histo.
Je ne vois pas ce qu'il y a d'incorrect.
Merci encore
Cordialement,
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
7 oct. 2014 à 15:08
7 oct. 2014 à 15:08
Salut,
Quel est le message d'erreur?
Quel est le message d'erreur?
Koalacid
Messages postés
70
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
8 mars 2016
2
7 oct. 2014 à 15:16
7 oct. 2014 à 15:16
Alors je viens d'arriver à supprimer le message d'erreur, donc je ne peux plus te dire.
Par contre la macro n'enclenche le copier/coller que d'une seule ligne. Coment pourrais-je sélectionner tout une plage depuis la cellule A6 à la cellule BQ19?
Je suis perdu dans le code que tu m'as donné, à quel moment tu as saisi les info pour que la macro choisisse telle ou telle ligne?
Par contre la macro n'enclenche le copier/coller que d'une seule ligne. Coment pourrais-je sélectionner tout une plage depuis la cellule A6 à la cellule BQ19?
Je suis perdu dans le code que tu m'as donné, à quel moment tu as saisi les info pour que la macro choisisse telle ou telle ligne?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
Modifié par pijaku le 7/10/2014 à 15:56
Modifié par pijaku le 7/10/2014 à 15:56
For i = 1 To 10 'va boucler de la ligne 1 à la ligne 10
For i = 6 To 19 'va boucler de la ligne 6 à la ligne 19
Koalacid
Messages postés
70
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
8 mars 2016
2
7 oct. 2014 à 16:09
7 oct. 2014 à 16:09
D'accord.
Et les lignes:
Ce sont les tests pour savoir s'il peut prendre ces lignes et les copier.
Je comprend ces lignes de code comme ça:
Si la colonne F n'est pas vide et que les colonnes B et C sont égales à rien, alors la macro copie les lignes 1 à 10.
Et les lignes:
For i = 1 To 10
'si, dans ces lignes F n'est pas vide, B = "" (égale rien), C = "" Alors
If Not IsEmpty(.Range("F" & i)) And .Range("B" & i).Value = "" And .Range("C" & i).Value = "" Then
'derlig est une variable qui va contenir le numéro de la première ligne
Ce sont les tests pour savoir s'il peut prendre ces lignes et les copier.
Je comprend ces lignes de code comme ça:
Si la colonne F n'est pas vide et que les colonnes B et C sont égales à rien, alors la macro copie les lignes 1 à 10.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
7 oct. 2014 à 16:09
7 oct. 2014 à 16:09
C'est ça. Tout à fait.