Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2948 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment copier une partie d'une colonne avec condition?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment copier une partie d'une colonne avec condition?

n°2077611
BGS42
Posté le 23-05-2011 à 08:32:33  profilanswer
 

Bonjour,
 
Je souhaite copier une partie de 2 colonnes Excel en fonction de deux paramètres portant sur une des deux colonnes.
En fait j'ai deux seuils (variables) et je veux copier deux colonnes entre ses deux seuils.
exemple:  seuil 2 et 7
et j'ai le tableau suivant
1     A
2     F
3     G
4     U
5     K
6     S
7     P
8     V
....
 
Merci pour vos réponses

mood
Publicité
Posté le 23-05-2011 à 08:32:33  profilanswer
 

n°2077630
olivthill
Posté le 23-05-2011 à 10:41:01  profilanswer
 

En VBA, on peut écrire une macro qui ressemblerait à :

Code :
  1. ' Recherche le début
  2.   seuil_debut = 2
  3.   col_no = 1 ' pour la colonne B (A = 1, B = 2)
  4.   lg_no = 1  ' à partir de la première ligne
  5.   Do While Not IsEmpty(Cells(lg_no, col_no))
  6.      If (src_feuille.Cells(src_lg_no, src_col_no).Value = seuil_debut) Then
  7.       Exit For
  8.     End If
  9.     lg_no = lg_no + 1
  10.   Loop
  11.   If (IsEmpty(Cells(lg_no, col_no)) Then
  12.      Return ' Seuil non trouvé, on sort
  13.   End If
  14.   lg_debut_copie = lg_no;
  15. ' Recherche la fin
  16.   seuil_fin = 7
  17.   lg_no = lg_debut_copie
  18.   Do While Not IsEmpty(Cells(lg_no, col_no))
  19.      If (src_feuille.Cells(src_lg_no, src_col_no).Value = seuil_fin) Then
  20.       Exit For
  21.     End If
  22.     lg_no = lg_no + 1
  23.   Loop
  24.   If (IsEmpty(Cells(lg_no, col_no)) Then
  25.      Return ' Seuil non trouvé, on sort
  26.   End If
  27.   lg_fin_copie = lg_no;
  28. ' Copie
  29.     src_col_no = 1 ' pour la colonne B (A = 1, B = 2)
  30.     src_lg_no = lg_debut_copie  ' à partir de la première ligne
  31.     dst_col_no = 3
  32.     dst_lg_no = 1
  33.     Do While (src_lg_no <= lg_fin_copie)
  34.         Cells(dst_lg_no, dst_col_no).Value  = Cells(src_lg_no, src_col_no).Value
  35.         Cells(dst_lg_no, dst_col_no + 1).Value  = Cells(src_lg_no, src_col_no + 1).Value
  36.         dst_lg_no = dst_lg_no + 1
  37.         src_lg_no = src_lg_no + 1
  38.     Loop


Message édité par olivthill le 24-05-2011 à 11:10:48
n°2077644
BGS42
Posté le 23-05-2011 à 11:36:46  profilanswer
 

Merci,
par contre mon seuil est variable, il est stocké dans F9, comment je dois le coder?

n°2077687
olivthill
Posté le 23-05-2011 à 14:50:29  profilanswer
 

Si le seuil inférieur est stocké dans F9 (qui contiendrai donc 2, dans notre exemple), alors il suffit de remplacer, dans mon code, la ligne

seuil_debut = 2

par

seuil_debut = Cells(9,6).value  ' 9 car 9e ligne, et 6 car F est la 6e colonne

n°2077802
BGS42
Posté le 24-05-2011 à 03:13:29  profilanswer
 

Merci beaucoup, et j'ai une dernière question (très bête je pense)
Comment fait on appelle à la macro dans la feuille excel?
Merci beaucoup

n°2077838
kiki29
Posté le 24-05-2011 à 10:59:08  profilanswer
 

Salut, tu la nommes ,ce qui ici n'a pas été le cas,
dans un module tu tapes par exemple Sub Recherche
et tu places le code d'Olivthill entre le Sub Recherche et le End Sub
Sur la feuille Excel tu peux placer un Bouton et l'associer à Sub Recherche()
ou via le menu Outils/Macro/Macros
 
Pour infos : http://silkyroad.developpez.com/VBA/DebuterMacros/ http://excel.developpez.com/faq/?f [...] OOOOOOOOOO


Message édité par kiki29 le 24-05-2011 à 11:02:56
n°2077845
BGS42
Posté le 24-05-2011 à 11:51:26  profilanswer
 

ok merci pour tout


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment copier une partie d'une colonne avec condition?

 

Sujets relatifs
[MySQL] Copier une table distantefonction d'interpolation pour plus d'une colonne
Effectuer une somme avec condition sous excelcopier un fichier
[J2EE] Restreinte d'une partie ou de la page entière abc.jspExcel : boucle copie de plages sous condition
Pb: copier un graph Excel sur Wordconstruire une plage de cellules qui répondent à la même condition
condition et copieOuverture d'un fichier selon une partie de son nom
Plus de sujets relatifs à : Comment copier une partie d'une colonne avec condition?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR