Formule excel : transfert de donnée
angelique
-
angele -
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
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
6 réponses
-
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....-
-
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 -
-
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 -
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
-
-
Bonjour
une petite solution sans macro, modèle à adapter
https://www.cjoint.com/?AJukeYYjpXw
crdlmnt -
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.-
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 -
-
-
-
-
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 -
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.