Verifier l'existance de donné dans une ligne
bonjour je souhaite verifier si une ligne de mon tableau renvoie des donné afin de la copier plus tar voila la commenced que j'utilise:
If Sheets(A).Range(b) = True Then
b = b + 1
End If
merci d'avence
Bonjour superz3st
C'est presque ça
NbVal = 0
Ligne = 2 ' A définir
' Pour chaque colonne de 1 à 10
For Col = 1 to 10
' Vérifier si existe une valeur
If Sheets(A).Cells(Ligne,Col).Value <>"" Then
' Si oui ajouter le nombre de valeur trouvée
NbVal = NbVal + 1
End If
Next Col
' Il faut x valeurs au total
If nbval < 10 then
Msgbox "Il manque des valeurs"
End If
A+
Tout d'abord merci de ton retour.
En fait ce n'est pas exactement ce que je doit faire :je souhaite copier une ligne sur 4 d'un tableau sur un autre tableau jusqu'a se que j'arrive au bout de celui si ensuite je doit passer a une page suivante voila mon prgm pour le moment.
Sub TextBox2_Cliquer()
'
' TextBox2_Cliquer Macro
Application.ScreenUpdating = False
'A : page ou l'on colle les donné
'B : ligne ou l'on colle les donné
'C : page ou l'on copie les donné
'D : ligne ou l'on copie les donné
'y= bit de changement de page
A = 2 + Numergroup
c = 3 + Numerogroup
'definition du numero de ligne B
nbval = 0
Ligne = 2 ' A définirr
Col = 1
'Determiner la ligne ou l'on colle la valeur
If Sheets(A).Cells(Ligne, Col).Value <> "" Then
B = B + 1
End If
'Determiner la ligne ou l'on copie la valeur
If Sheets(c).Cells(Ligne, Col).Value <> "" Then
Sheets(c).Range(D).Copy Sheets(A).Range(B)
D = D + 4
Else
c = c + 1
y = 1
End If
End Sub
Re,
Voici un code à adapter
Sub Copie1LigneSur4()
Dim DLig As Long, Lig As Long
Dim ShtD As Worksheet
' Définir la feuille de destination
Set ShtD = Sheets("Feuil2")
' Avec la feuille source
With Sheets("Feuil1") ' Changer le nom de la feuille si nécessaire
' Dernière ligne de la feuille
DLig = .Range("A" & Rows.Count).End(xlUp).Row
' Pour chaque ligne à partir de celle en dessous de l'en-tête ligne 1
' Pas à pas de 4 lignes
For Lig = 2 To DLig Step 4
' Si il existe une valeur dans la colonne A
If .Range("A" & Lig).Value <> "" Then
' Copier la ligne
.Range("A" & Lig).EntireRow.Copy _
Destination:=ShtD.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
End If
Next Lig
End With
' Effacer la variable objet
Set ShtD = Nothing
End Sub
A+
Ca marche merci beaucoup !!! je l'ai un peut adapter et ca donne ca
If verif = 1 Then
'A : page ou l'on colle les donné
'B : ligne ou l'on colle les donné
Dim DLig As Long, Lig As Long, Dlig1 As Long
Dim ShtD As Worksheet
' Définir la feuille de destination
Set ShtD = Sheets(A)
' Avec la feuille source
With Sheets(c)
' Dernière ligne de la feuille
DLig = .Range("A" & Rows.Count).End(xlUp).Row
' Pour chaque ligne à partir de celle en dessous de l'en-tête ligne 1
' Pas à pas de 4 lignes
For Lig = 3 To DLig Step 4
' Si il existe une valeur dans la colonne A
If .Range("A" & Lig).Value <> "" Then
' Copier la ligne
.Range("A" & Lig).EntireRow.Copy _
Destination:=ShtD.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
Else
'commande pour suprimer automatiquement la page C
End If
Next Lig
End With
' Effacer la variable objet
Set ShtD = Nothing
c = c + 1
End If
verif = 1
Le tout est dans une plus grande boucle while.
j'aurai toute derniere question
merci d'avence
C'est bon j'ai trouver merci beaucoup !!!