Comment copier certaines cellules d'une colonne
pealy
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, j'ai un fichier comptable dans lequel j'ai de l'information de la colonne A que je veux extraire pour copier vis-à-vis le détail de la colonne B. Je veux extraire les numéros de compte qui figurent dans la colonne A, mais cette colonne a aussi des dates, du texte, des lignes vides, etc. Mon fichier comporte plus de 60 000 lignes et une centaine de comptes à isoler. Dans l'exemple qui suit, je voudrais extraire le compte 1000 (sans le faire manuellement) et le copier vis-à vis toutes les lignes de la colonne B qui ont "banque". La même chose pour le compte 2000 que je voudrais l'associer vis-à-vis toutes les lignes de la colonne B qui ont le mot "compte client., ainsi de suite. Comment faire?
colonne A colonne B colonne C colonne D
1000 banque
solde d'ouverture 10000.00
2013-01-01 banque compte fourn 20000.00
2013-01-02 banque retrait 1000.00
2000 compte client
solde d'ouverture 20000.00
2013-01-01 compte client ABC 1000.00
2013-01-01 compte client ACD 200.00
colonne A colonne B colonne C colonne D
1000 banque
solde d'ouverture 10000.00
2013-01-01 banque compte fourn 20000.00
2013-01-02 banque retrait 1000.00
2000 compte client
solde d'ouverture 20000.00
2013-01-01 compte client ABC 1000.00
2013-01-01 compte client ACD 200.00
A voir également:
- Comment copier certaines cellules d'une colonne
- Déplacer une colonne excel - Guide
- Comment copier une vidéo youtube - Guide
- Comment trier une colonne sur excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
2 réponses
Bonjour,
Je pense que le mieux pour toi serait de faire un tableau croisé dynamique, avec les données voulus,
Cordialement,
Je pense que le mieux pour toi serait de faire un tableau croisé dynamique, avec les données voulus,
Cordialement,
Bonjour
Le problème est surtout dû au fait que tu as des cellules vides, sinon un simple nb.si copié pourrait faire l'affaire
donc, vba semble être la solution avec une macro paramétrée
on suppose que la 1° ligne comporte les ent^tes
Si la durée est trop longue, fais signe on peut aller + vite
Michel
Le problème est surtout dû au fait que tu as des cellules vides, sinon un simple nb.si copié pourrait faire l'affaire
donc, vba semble être la solution avec une macro paramétrée
on suppose que la 1° ligne comporte les ent^tes
Sub choisir()
affecter 1000, "compte client" 'écrire le n°compte et la désignation voulus
End Sub
'---------------------------
Sub affecter(compte, designation)
Dim derlig As Long, Nbre As Long, Lig As Long
'initialisation
Application.ScreenUpdating = False
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
Nbre = Application.CountIf(Columns("A"), compte)
'recherche
If Nbre = 0 Then 'erreur compte
GoTo vide
Else
Lig = 1
For cptr = 1 To Nbre
Lig = Columns("A").Find(compte, Cells(Lig, "A"), xlValues).Row
Cells(Lig, "B") = designation
Next
End If
Exit Sub
vide:
MsgBox "Numéro inconnu", vbCritical
End Sub
Si la durée est trop longue, fais signe on peut aller + vite
Michel