Probleme de condition

  • Initiateur de la discussion Initiateur de la discussion POLO
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

POLO

Guest
Bonjour au forum

Dans le code suivant (fichier word joint) je souhaite transférer des données d1 feuille A vers une feuille B avec pour condition : si la valuer d'une cellule de la plage f32 : f200 est vide alors on ne transfert pas les données sélectionnées de la ligne.

Il doit y avoir une erreurde positionnement de condition ou une erreur d'écriture car toutes mes lignes sont tranférées.

Merci d'avance du coup de main. [file name=vba_20060407141221.zip size=3079]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/vba_20060407141221.zip[/file]
 

Pièces jointes

POLO écrit:
Bonjour au forum

Dans le code suivant (fichier word joint) je souhaite transférer des données d1 feuille A vers une feuille B avec pour condition : si la valuer d'une cellule de la plage f32 : f200 est vide alors on ne transfert pas les données sélectionnées de la ligne.

Il doit y avoir une erreurde positionnement de condition ou une erreur d'écriture car toutes mes lignes sont tranférées.

Merci d'avance du coup de main. [file name=vba_20060407141221.zip size=3079]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/vba_20060407141221.zip[/file]
Salut
Same player shoot again
essaies encore (c'est ton fichier xls, sans code que tu as mis)
A+
 
Bon je crois comprendre que le format de fichier ne passe pas.
Est ce mieux ainsi ? [file name=Problemetransfert.zip size=2630]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Problemetransfert.zip[/file]
 

Pièces jointes

POLO écrit:
Bonjour au forum

... je souhaite transférer des données d1 feuille A vers une feuille B avec pour condition : si la valuer d'une cellule de la plage f32 : f200 est vide alors on ne transfert pas les données sélectionnées de la ligne.

Il doit y avoir une erreurde positionnement de condition ou une erreur d'écriture car toutes mes lignes sont tranférées.

Merci d'avance du coup de main.


dans ta macro
il suffit qu'une cellule de F32:Fxx soit non vide pour envoyer la totalité

Message édité par: Qrieux, à: 07/04/2006 15:21
 
Merci Orieux j'ai bien compris ce que fait ma macro mais justement je cherche à faire en sorte que quelqu'un m'aide à la modifier sur la condition : si une cellule est vide alors on ne tranfert pas les données de la ligne.

Comment être plus clair ?
 
voici quelques lignes de code
qui execute la demande
la feuille 'A' doit être active


Code:
Dim ligA, ligC, colC As Integer

ligA = 2
ligC = 1
While Not IsEmpty(Cells(ligA, 1))
 If Not IsEmpty(Cells(ligA, 2)) Then
  Sheets('C').Cells(ligC, 2).Value = Cells(ligA, 1).Value
  Sheets('C').Cells(ligC, 3).Value = Cells(ligA, 3).Value
  Sheets('C').Cells(ligC, 4).Value = Cells(ligA, 4).Value
  ligC = ligC + 1
 End If
ligA = ligA + 1
Wend
 
salut
pour tout le monde, ça a l'air de fonctionner, alors que moi, ça patine et grave encore
Quelqu'un peut m'expliquer ce que c'est [C32] ou [F201], j'aimerais autant ne pas mourir idiot ?

J'ai mis ce que j'ai compris dans le fichier joint, après avoir eu une erreur de serveur qui m'a planté 2 heures de commentaires :angry:

A+ [file name=Problemetransfert1.zip size=8822]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Problemetransfert1.zip[/file]
 

Pièces jointes

bonjour Gorfael

if [C21] = [F201]
permet de tester si la valeur de la cellule C21 est identique a celle de la cellule F201

toutes remarques sont tres pertinentes
elles permettront a POLO de prendre de bonne habitudes dans son ecriture de programme

est-ce que tu comprends mieux le code de ma reponse ?
 
Bonjour.
Merci pour vos réponses et vos conseils mais je n'ai toujours pas de solution pour faire en sorte que si une cellule est vide les la valeurs de la ligne correspondante ne soit pas transférées.

A bientôt
 
re

pour un essai avec des données en A et B

Sub Envoi()

If [C21] = [F201] Then

Dim cell As Range
Dim plage As Range
With Sheets('feuil1')
Set plage = .Range('A1:b' & .Range('b6').End(xlUp).Row)
End With
' condition
'masquage ligne si 1 cellule vide
Sheets('feuil1').Activate
For Each cell In plage
If cell = '' Then
Rows(cell.Row).Hidden = True
End If
Next

With Sheets('feuil1')
Set plage = .Range('A1:a' & .Range('a6').End(xlUp).Row)
End With

Dim a As Integer
Dim i As Integer
Dim ligne As Single
'copie si visible
For Each cell In plage
ligne = cell.Row
If Rows(ligne).Hidden = False Then
' envoi des données
'
Range('A' & ligne & ':B' & ligne).Select
Selection.Copy
Sheets('feuil2').Select
Range('B' & Range('b65536').End(xlUp).Row + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Application.CutCopyMode = False
Sheets('feuil1').Activate
Next
plage visible
plage.Rows.Hidden = False
End If

End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

P
Réponses
4
Affichages
1 K
placis
P
D
Réponses
7
Affichages
1 K
D
D
Réponses
3
Affichages
1 K
S
  • Question Question
Réponses
5
Affichages
1 K
Réponses
3
Affichages
1 K
H
P
Réponses
10
Affichages
1 K
placis
P
Réponses
2
Affichages
2 K
P
Réponses
0
Affichages
950
pascal
P
M
  • Question Question
Réponses
2
Affichages
1 K
M
Retour