Merci, ton premier code marche parfaitement, il effectue bien la recherche sur une seule colonne comme souhaité.
Je te remercie beaucoup de ton aide et du temps que tu m'a consacrer.
Version imprimable
Merci, ton premier code marche parfaitement, il effectue bien la recherche sur une seule colonne comme souhaité.
Je te remercie beaucoup de ton aide et du temps que tu m'a consacrer.
Bonjour lilp, re le forum,
Tu feras attention quand meme si tu reprends le fichier par la suite, si des feuilles portent le meme nom, ça ne fonctionnera pas à moins de supprimer la feuille au préalable
content de t'avoir rendu service
Bonne journée
Une derniere chose, pourrait tu m'indiquer quelle partie de ton code copier les informations sur la nouvelle feuille, car je n'arrive pas a voir. Merci
ici tout simplement
plutot que de passer par un copy, je dis simplement que la ligne de la feuille active est egale à la ligne de la feuille ecrituresCode:Sheets(nomfeuille).Cells(irow, 1).EntireRow.Value = rc.EntireRow.Value
J'ai aussi oublié de te dire que dans le 1er code, il y a es variables qui ne servent à rien et des instructions devenues inutiles,
je les ai enlevées dans le deuxieme code
a +
Oki.
J'ai créer un autre userform avec le code suivant :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Private Sub diffencier_analytique() 'declaration des variables Dim a As Range, x As Integer, d1 As Integer, firstaddress As String, irow As Integer, nomfeuille As String 'enregistrement du nom de la feuille active dans une variable nomfeuille = ActiveSheet.Name 'recherche de la valeur 'A' dans la colonne 'E' With Sheets(nomfeuille) dl = .Range("e" & Rows.Count).End(xlUp).Row Set a = .Range("E2:E" & dl).Find("A") 'Emepeche le rafraichissement de l'écran, pour ne pas voir le traitement Application.ScreenUpdating = False If a Is Nothing Then MsgBox "Il n'y a pas de comptabilité analytique dans ce journal": Exit Sub If Not a Is Nothing Then 'création d'une nouvelle feuille et on l'a renomme Sheets.Add After:=Worksheets(Worksheets.Count) ActiveSheet.Name = "Comptabilié Analytique" Sheets(nomfeuille).Select firstaddress = a.Address irow = 1 For x = 2 To d1 irow = irow + 1 Sheets("Comptabilié Analytique").Cells(irow, 1).EntireRow.Value = a.EntireRow.Value Set a = .Range("e" & a.Row + 1, "e" & d1).Find("A") If a Is Nothing Then Exit For End If Next x .Activate MsgBox ("Les Journaux Analytiques ont bien été copié") End If End With Application.ScreenUpdating = True End Sub
Le but de ce code est de copier les lignes ou se trouvent la valeur 'A' dans la colonne 'E' dans une nouvelle feuille, simplement, rien ne se copie.
là tu dis
donc tu veux copier une ligne entiere dans la cellule d'une colonne ?, bizarreCitation:
copier les lignes ou se trouvent la valeur 'A' dans la colonne 'E' dans une nouvelle feuille, simplement, rien ne se copie.
Cells(irow, 1) représente au début de ta boucle range("a1"), tu dois mal t'expliquer quelque partCode:Sheets("Comptabilié Analytique").Cells(irow, 1).EntireRow.Value = a.EntireRow.Value
autre chose, je suis un peu miro
, j'ai l'impression de voir un 1 et pas un l, vérifiesCode:For x = 2 To d1
lol tu n'est pas miro c'est plutot moi, c'était bien un "1" et non un "l".
Par contre il faudrait que sa puisse me copier les lignes ou se trouvent la valeur "A" dnas la colonne "E", mais defois j'ai une valeur "A" puis une ou 2 lignes de vide dans la collonne "E" puis une valeur "X", il faudrait que sa puisse me copier les lignes qui suivent la valeur "A" ou la collone "E" est vide car ces lignes sont associés a la ligne de la valeur "A".
Il faudrait en gors, que sa me copier les lignes ou se trouvent la valeur "A" jusqu'a ce qu'il trouvent une autre valeur "X" même si les cellules sont vides, puis que sa passe a une autre cellule ou se trouvent la valeur "A"
Malheureusement, je ne sait pas comment on fait. :s
Oui, j'ai encore bcp de lacune
je ne comprends toujours pas
les lignes ou les cellules ?Citation:
me copier les lignes ou se trouvent la valeur "A"
, on ne copie pas une ligne dans une celluleCitation:
dans la colonne "E",
je ne pourrais répondre que quand tu auras bien spécifié le mot cellule quand c'est cellule ou ligne quand c'est ligne, par exemple "cellule de la colonne A"Citation:
j'ai une valeur "A" puis une ou 2 lignes de vide dans la collonne "E" puis une valeur "X", il faudrait que sa puisse me copier les lignes qui suivent la valeur "A" ou la collone "E" est vide car ces lignes sont associés a la ligne de la valeur "A".
Excuses-moi mais là j'ai du mal à capter
Enfaite, pour le moment, la recherche s'effectue dans une colonne a savoir la colonne "E", il me recherche la valeur "A" dans cette colonne et me copie la ligne dans une nouvelle feuille.
Simplement de temps en temps il y a une ou plusieurs ligne suivent cette ligne ou dans la colonne "E" il n'y a rien de renseigner. J'aimerais donc que ma recherche me copie la ligne ou se trouvent la valeur "A" dans la colonne "E" ainsi que les quelques lignes suivantes jusqu'a ce qu'ils rencontrent une autre valeur qui est "X". Mais il ne faut pas qu'il me copie toutes les lignes ou se trouvent la valeur "A" ou "" car certaines lignes apres la valeur "X" sont vides aussi mais sont en correspondance avec cette valeur.
J'espere avoir été plus claire
excuses-moi lilp mais je n'aurai pas le temps avant ce soir
sois patient
bonne journée