Formule excel : transfert de donnée

angelique -  
 angele -
Bonjour,



je voudrais avoir de l'aide sur une formule :
je vous explique ce que je voudrais faire ; dans un classuer j'ai deux feuilles de travail
une avec une balance comptable et une vierge.
j'aimerais trouver une formule qui copie et colle la feuille une sur la feuille que si les numeros de comptes de la colonne A sont compris dans une plage précise.
ex : si les comptes sont compris entre 601000 et 609799 alors copie et colle les differentes lignes ds la feuille vierge .

merci d'avance pour votre aide,

angelique
A voir également:

6 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour
On peut le faire par VBA bien sûr mais aussi par formules....
pour être efficace joins un extrait de ton classeur

pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe (format XL97-2003) sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse

transféré dans le forum bureautique....
0
angele
 
bonsoir,

voici un extrait et sur la feuille 60 (g) ce que je veux faire
http://cjoint.com/?AJuw6MVKJiU
merci pour votre aide
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
Bonjour

ci joint- votre modèle adapté selon ma première proposition dans le message 5 sur ce fil?

http://www.cijoint.fr/cjlink.php?file=cj201110/cijYTvSLwu.xlsx

Notez que votre liste de N° en colonne A est un format texte et ne peut donc pas utiliser directement en l'état les opérateur > ou <.

Il faut donc:
_ intégrer dans la formule de détection le *1 que vous verrez en colonne Z du fichier transmis

ou effectuer la manip suivante
_entrer la valeur 1 dans une cellule hors champ
_la copier
_sélectionner le champ de s N° en colonne A
_Clic droit/collage spécial / multiplication
pour transformer la liste en format numérique

cette deuxième option est indispensable si vous voulez utiliser la macro de eljojo au message 4

crdlmnt
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour Angèle, Vaucluse

Avec XL2007, cela se fait en 10 minutes maxi, sans VBA ni formules....
Je viens juste de rentrer après une journée dehors. Te proposerai cela demain matin....

bonne soirée
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
Bonsoir Michel.
je n'ai pas de réponse d'Angèle sur ma dernière proposition
(https://forums.commentcamarche.net/forum/affich-23422535-formule-excel-transfert-de-donnee#9)
et le fichier joint.
Je me permet de te re-ignaler, comme précisé dans mon message, que dans le fichier transmis par Angèle, il faut d'abord transformer en num la colonne N° de compte, car elle est en texte.
Difficile de trouver les +grands et les + petits sans rien changer
Bonne soirée et le cas échéant, bon week-end.
crdlmnt
0
angele
 
je viens de rentrer du travail.
en effet ta formule fonctionne merci beaucoup je vais essayer de bien la comprendre et de voir si elle peut fonctionner avec une balance plus volumineuse.

je veux bien voir ta solution Michel ca me permet d'apprendre des solutions diverses :) par contre j'ai j'ai windoxl2010.

par contre vba je comprend pas tout et il me remet une formule d'erreur ! :s
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
Bonjour

une petite solution sans macro, modèle à adapter
https://www.cjoint.com/?AJukeYYjpXw

crdlmnt
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour à tous,

Avec un filtre élaboré, cela fonctionne très bien :

http://www.cijoint.fr/cjlink.php?file=cj201110/cijSmDwmtO.xlsx

J'ai mis en image les paramètres du filtre.
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour,

version 2007(tuto) de la solution de gbinforme (qui fonctionne aussi sous 2007 mais sans zone de critère, a voir suivant ses habitudes)
https://www.cjoint.com/?AJwj5oGrzxg
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour Michel,

2007 !?! bienvenue sur cette version ;-)
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour,gbinforme,

Ça me rappelle un vieux post, mon cher!
hé oui, j'ai récupéré une licence et suis rentré dans le XXI° siècle: j'ai pas fini de tout parcourir...

Bon dimanche ensoleillé, l'espère
0
angele
 
je regarde tout ca cette semaine et vous retiens au courant si tout fonctionne bien.

en tout cas merci à tous pour votre aide

bon dimanche
0
eljojo_e Messages postés 1255 Statut Membre 155
 
Bonjour,
exemple pour copier les lignes 4 à 50

sub a()

for a = 4 to 50

' test si ta valeur est comprise entre 601000 et 609799
if range("a" & a).value >601000 then
if range("a" & a).value <609799 then

' copy la ligne
rows(a & ":" & a).select
selection.copy

'selectionne la feuille "feuil2", insere une ligne et colle la ligne
sheets("feuil2").select
rows("a:a").select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
rows("a:a").select
ActiveSheet.Paste

'arrete la copy, selectionne la feuille "balance comptable"
Application.CutCopyMode = False
sheets("balance comptable").select

next

end sub

voila
-1
angelique
 
merci eljojo mais quand je l'insere il me surligne sub a() comme quoi c'est un inconnu.
désolé je suis vraiment pas forte en vba :)

merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eljojo_e Messages postés 1255 Statut Membre 155
 
Essaye ce code :

Sub Macro1()
Dim a As Integer
a = 4

For a = 4 To 50

' tu dois remplacer la lettre entre guillemet ("a") de range("a"... qui correspond
' a la colonne où se situ le compte (qui doit être entre 601000 et 609799 )

If Range("a" & a).Value > 601000 Then
If Range("a" & a).Value < 609799 Then

Rows(a & ":" & a).Select
Selection.Copy
Sheets("feuil2").Select
Rows("a:a").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Rows("a:a").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("balance comptable").Select
End If
End If
Next a

End Sub
-4
angele
 
merci je vais l'essayer demain soir et te redis si ca marche :)

bonne soirée
0
eljojo_e Messages postés 1255 Statut Membre 155
 
sa marche très bien et c'est rapide. après a chacun sa solution, perso je préfère le vba car c'est plus adaptable en cas de besoin de modification.
-6