Parcourir tableau puis copier les données dans un autre tableau
juju19942003
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
juju19942003 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
juju19942003 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors voilà je suis débutant en vba et excel et je me tourne vers vous pour de l'aide.
J'ai un tableau dans la feuil1 ou tous les employés sont mélangés (famille, nom, fixe, mobile, société). En vba comment est ce qu'on parcours le tableau pour que à chaque fois que l'on tombe sur une ligne ou l'employé appartient a la société 2CB, cela l'ajoute dans la feuille nommé CB?
Pour le moment voici mon code :
Sub lstentreprise()
Dim i As Long 'ligne
Dim j As Integer 'colonne
Dim DerniereColonne As Integer 'selection derniere colonne
DerniereColonne = Range("A1").CurrentRegion.End(xlToRight).Column
Dim DerniereLigne As Long 'selection derniere ligne
DerniereLigne = Range("A1").CurrentRegion.End(xlDown).Row
'parcours des société pour affecter l'employé
For j = 1 To DerniereColonne
For i = 1 To DerniereLigne
If ActiveSheet.Cells(i, 5) = "2CB" Then
Worksheets("2CB").Rows.Add
End If
Next
Next
End Sub
Merci de vôtre aide.
Alors voilà je suis débutant en vba et excel et je me tourne vers vous pour de l'aide.
J'ai un tableau dans la feuil1 ou tous les employés sont mélangés (famille, nom, fixe, mobile, société). En vba comment est ce qu'on parcours le tableau pour que à chaque fois que l'on tombe sur une ligne ou l'employé appartient a la société 2CB, cela l'ajoute dans la feuille nommé CB?
Pour le moment voici mon code :
Sub lstentreprise()
Dim i As Long 'ligne
Dim j As Integer 'colonne
Dim DerniereColonne As Integer 'selection derniere colonne
DerniereColonne = Range("A1").CurrentRegion.End(xlToRight).Column
Dim DerniereLigne As Long 'selection derniere ligne
DerniereLigne = Range("A1").CurrentRegion.End(xlDown).Row
'parcours des société pour affecter l'employé
For j = 1 To DerniereColonne
For i = 1 To DerniereLigne
If ActiveSheet.Cells(i, 5) = "2CB" Then
Worksheets("2CB").Rows.Add
End If
Next
Next
End Sub
Merci de vôtre aide.
A voir également:
- Parcourir tableau puis copier les données dans un autre tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer un tableau excel - Guide
6 réponses
Bonjour,
tous les employés sont mélangés (famille, nom, fixe, mobile, société)
Peut-etre, mais quand meme pas de melange dans les colonnes ?????
tous les employés sont mélangés (famille, nom, fixe, mobile, société)
Peut-etre, mais quand meme pas de melange dans les colonnes ?????
non pas de dans les colonnes mais mélangé par société.
Par exemple :
famille nom fixe mobile société
convergent cizaire 0385380025 0616789630 2CB
convergent richou 0385390208 0671256394 EBM
convergent tremeau 0385663230 0689755568 2CB
etc...
Par exemple :
famille nom fixe mobile société
convergent cizaire 0385380025 0616789630 2CB
convergent richou 0385390208 0671256394 EBM
convergent tremeau 0385663230 0689755568 2CB
etc...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Sub lstentreprise()
Dim Nb As Integer, Lig As Long, Point As Integer, Col_E As Range, derlig As Long
With Worksheets("feuil1")
Rech = "2CB"
'derniere cellule non vide colonne A
derlig = .Range("A" & Rows.Count).End(xlUp).Row
'mise en memoire infos colonne E
Set Col_E = .Range("E2:E" & derlig)
'Recherche du nombre de 2CB
Nb = Application.CountIf(Col_E, Rech)
If Nb > 0 Then
'ligne de depart
Lig = 1
'premiere cellule vide 2CB colonne A
derlig = Worksheets("2CB").Range("A" & Rows.Count).End(xlUp).Row + 1
'boucle de recherche
For Point = 1 To Nb
'ligne ou se trouve 2CB
Lig = .Columns("E").Find(Rech, .Cells(Lig, "E"), , xlWhole).Row
'Ecriture Tableau
.Range("A" & Lig & ":E" & Lig).Copy Worksheets("2CB").Range("A" & derlig & ":E" & derlig)
'plus 1
derlig = derlig + 1
Next Point
End If
End With
End Sub