Copier un tableau dont le nombre de ces lignes est variable
Résolu/Fermé
nihadlahit
-
Modifié par Chris 94 le 25/07/2016 à 15:05
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 26 juil. 2016 à 17:06
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 26 juil. 2016 à 17:06
A voir également:
- Copier un tableau dont le nombre de ces lignes est variable
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Copier une vidéo youtube - Guide
- Trier un tableau excel - Guide
2 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
Modifié par ThauTheme le 25/07/2016 à 17:14
Modifié par ThauTheme le 25/07/2016 à 17:14
Bonjour Nihadlahi, bonjour le forum,
Deux options pour commencer :
Si les deux colonnes I et J reçoivent chacune obligatoirement une donnée, tu détermine la dernière ligne éditée de la colonne (I ou J c'est pareil). Avec un code du style :
Si une des deux colonnes peut ne pas recevoir de données, il faut prendre celle qui reçoit obligatoirement une donnée pour définir la dernière ligne du tableau. Par exemple tu as "Prénom" en H et "Nom" en I. Le prénom n'est pas toujours renseigné alors que le nom, lui, l'est toujours. Tu auras :
Ensuite, inutile de boucler ! Tu copies/colles le tableau en une seule fois :
Évite autant que tu le peux les Select qui ne font que ralentir l'exécution du code...
À plus,
ThauTheme
Deux options pour commencer :
Si les deux colonnes I et J reçoivent chacune obligatoirement une donnée, tu détermine la dernière ligne éditée de la colonne (I ou J c'est pareil). Avec un code du style :
Dim DL as Integer DL = Sheets("F1").Range("H" & Application.Rows.Count).End(xlUp).Row 'ou DL = Sheets("F1").Range("I" & Application.Rows.Count).End(xlUp).Row
Si une des deux colonnes peut ne pas recevoir de données, il faut prendre celle qui reçoit obligatoirement une donnée pour définir la dernière ligne du tableau. Par exemple tu as "Prénom" en H et "Nom" en I. Le prénom n'est pas toujours renseigné alors que le nom, lui, l'est toujours. Tu auras :
Dim DL as Integer DL = Sheets("F1").Range("I" & Application.Rows.Count).End(xlUp).Row
Ensuite, inutile de boucler ! Tu copies/colles le tableau en une seule fois :
Range("H2:I" & DL).Copy Sheets("F2").Range("H2")
Évite autant que tu le peux les Select qui ne font que ralentir l'exécution du code...
À plus,
ThauTheme
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
26 juil. 2016 à 17:06
26 juil. 2016 à 17:06
Tiens un pseudo anagrammesque !... Je ne connaisais pas.
26 juil. 2016 à 16:58