un petit coup de main ....

Le
eneric
Bonjour,
j'ai un leger trou de memoire et je coince
dans un plage de cellule (ex: D4:E1000)il faut que je repere les
cellules qui contiennent "P" ou que l'on va saisir dans le futur donc
:
'For Each x In Range("D4:E1000")
'If x.Value Like "P" then .
et la je bute soit sur la syntaxe soit sur la methode
il faut que la selection de la ligne en question se fasse
de A_ à E_ et de la ranger dans la feuille correspondante
Sheets("toto").select
[A65].End(xlup).Offset(1, 1).Select

' Next
merci de bien vouloir me donner le petit coup de main
bonne journee

--
eneric
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Elliac
Le #4409341
Bonjour,

Sub p()
For Each c In Selection
If c = "p" Then
If t = "" Then
t = c.Address
Else
r1 = Range(t).Address
r2 = c.Address
t = Union(Range(r1), Range(r2)).Address
End If
End If
Next
Range(t).Select
End Sub

Camille

"eneric" wrote:

Bonjour,
j'ai un leger trou de memoire et je coince
dans un plage de cellule (ex: D4:E1000)il faut que je repere les
cellules qui contiennent "P" ou que l'on va saisir dans le futur donc
:
'For Each x In Range("D4:E1000")
'If x.Value Like "P" then ....
et la je bute soit sur la syntaxe soit sur la methode
il faut que la selection de la ligne en question se fasse
de A_ à E_ et de la ranger dans la feuille correspondante
Sheets("toto").select
[A65...].End(xlup).Offset(1, 1).Select

' Next
merci de bien vouloir me donner le petit coup de main
bonne journee

--
eneric





Youky
Le #4409311
Salut,
remets le bon nom des onglets ou mieux mets le CodeName
exemple Feuil1.Range(......si l'utilisateur renomme l'onglet cela ne plante
pas
tu trouves le nom dans la fenetre projet
Youky

For Each x In Range("D4:E1000")
If x.Value Like "P" Then
lig = Sheets("Feuil2").[A65536].End(3).Row + 1
Sheets("Feuil2").Range("A" & lig & ":E" & lig).Value = _
Sheets("Feuil1").Range("A" & x.Row & ":E" & x.Row).Value
End If
Next

"eneric"
Bonjour,
j'ai un leger trou de memoire et je coince
dans un plage de cellule (ex: D4:E1000)il faut que je repere les cellules
qui contiennent "P" ou que l'on va saisir dans le futur donc :
'For Each x In Range("D4:E1000")
'If x.Value Like "P" then ....
et la je bute soit sur la syntaxe soit sur la methode
il faut que la selection de la ligne en question se fasse
de A_ à E_ et de la ranger dans la feuille correspondante
Sheets("toto").select
[A65...].End(xlup).Offset(1, 1).Select

' Next
merci de bien vouloir me donner le petit coup de main
bonne journee

--
eneric




Garette
Le #4409281
Bonjour,

Sub test()
For Each X In Sheets("Feuil1").Range("D4:E1000")
If InStr(1, X.Value, "P") <> 0 Then
Range(Cells(X.Row, 1), Cells(X.Row, 5)).Copy _
(Sheets("toto").Range("A65000").End(xlUp).Offset(1, 0))
End If
Next
End Sub

Il faut éventuellement gérer le P majuscule et le p minuscule
Dans mon cas je cherche P dans la chaine de caratere de la cellule.
Si on est sur qu'il n'y a que P alors remplacer :
If InStr(1, X.Value, "P") <> 0 Then
par
If X.Value = "P" <> 0 Then
eneric
Le #4409231
eneric à dit
je travaille sur vos propositions
a+
Bonjour,

Sub test()
For Each X In Sheets("Feuil1").Range("D4:E1000")
If InStr(1, X.Value, "P") <> 0 Then
Range(Cells(X.Row, 1), Cells(X.Row, 5)).Copy _
(Sheets("toto").Range("A65000").End(xlUp).Offset(1, 0))
End If
Next
End Sub

Il faut éventuellement gérer le P majuscule et le p minuscule
Dans mon cas je cherche P dans la chaine de caratere de la cellule.
Si on est sur qu'il n'y a que P alors remplacer :
If InStr(1, X.Value, "P") <> 0 Then
par
If X.Value = "P" <> 0 Then


--
eneric

eneric
Le #4408961
eneric à dit
Si j'ecris se code
For Each x In Range("D4:E1000")
If x.Value Like "p" Then
lig = Sheets("Ins").[A65536].End(3).Row + 1
Sheets("Ins").Range("A" & lig & ":E" & lig).Value = _
Sheets("BD").Range("A" & x.Row & ":E" & x.Row).Value
End If
Next
pour 4 lignes ou ils trouvent "p" il m'en recopie 10 avec
la premiere ligne 4 fois
la 2eme 3 fois etc...
si je mets se code :
For Each X In Sheets("BD").Range("D4:E1000")
If InStr(1, X.Value, "p") <> 0 Then
Range(Cells(X.Row, 1), Cells(X.Row, 5)).Copy _
(Sheets("Ins").Range("A65000").End(xlUp).Offset(1, 0))
End If
Next
End Sub
ilm'en recopie 15 avec des incoherences "ref"ou "nom prenon adresse"
car j'ai des formules dans A4 et C4 (concatener) et si
merci

--
eneric
eneric
Le #4408931
ouais j'ai compris
en fait chaque fois qu'il y a une saisie de "p"
il relit la plage definie et recopie de nouveau
donc il faut changer tout cela

--
eneric
Garette
Le #4408881
Re,

Effectivement, s'il y a un P dans la cellule D4 et un autre dans la cellule
E4, la ligne sera copier 2 fois.
Il faut gérer ceci.

Par exemple :

Sub test()
For Each X In Sheets("Feuil1").Range("D4:D1000")
If InStr(1, X.Value, "P") <> 0 Then
Range(Cells(X.Row, 1), Cells(X.Row, 5)).Copy _
(Sheets("toto").Range("A65000").End(xlUp).Offset(1, 0))
Else
If InStr(1, X.Offset(0, 1).Value, "P") <> 0 Then
Range(Cells(X.Row, 1), Cells(X.Row, 5)).Copy _
(Sheets("toto").Range("A65000").End(xlUp).Offset(1, 0))
End If
End If
Next
End Sub

On teste la colonne D, si on ne trouve pas de de "P", on teste la colonne E.
eneric
Le #4408831
oui
au depart supposons il y a 50 "p"
l'operateur en resaisit 20
tout se reinscrit
le lendemain on recommence 302 "p"
rebelotte
donc on se retrouve avec une floppee de nom chte dis pas

--
eneric
eneric
Le #4408821
en theorie il ne doit pas avoir de "p" dans les 2 comonnes car il y a
un paiement par cheque ou espece
parla suite je retournerai un msgbox si c'est le cas
sinon je cree un bouton macro je mets la procedure dedans
car le code est dans la feuille en ce moment
je ne reviens que ce soir pour tester
donc a +
merci

--
eneric
Garette
Le #4408811
Ahh..
Je n'avais pas compris comme ça.
Il faut donc vérifier si la ligne existe déjà dans le fichier d'arrivée.
Dans Toto tu veux remplacer une fiche déjà existante ?
Une solution serait de dé-doublonner les fiches dans l'onglet Toto à la fin
de la macro de copie...

"eneric"
oui
au depart supposons il y a 50 "p"
l'operateur en resaisit 20
tout se reinscrit
le lendemain on recommence 302 "p"
rebelotte
donc on se retrouve avec une floppee de nom chte dis pas

--
eneric




Publicité
Poster une réponse
Anonyme