Bonjour à tous !!
je suis en train de ré actualiser un fichier qui est rempli de formule ds tt les sens et avec des grandes base de données. trés satisfaisant mais trés lourd ...
afin de faciliter l'accés à ce fichier ainsi que son utilisation , j'essaie de tt passer en vba.
étant novice ds ce domaine j'ai réussi a créer différent code, mais ne sont pas efficient ...
le premier copie les données de la feuille "bdd" colonne A si et seulement le chiffre en colonne "f " est positif et colle les données en feuille " calcul " en colonne " f " mais avec des cellules vides ...voici le code
comment peut on faire pour avoir ce résultat sans cellules vides entre elles ?
j'ai utilisé une boucle mais avec un nombre de ligne défini. peut on le faire de façon indéfini ?
Sub indemnité()
Dim i As Integer
For i = 1 To 600
Sheets("bdd").Activate
If Sheets("bdd").Range("f" & i).Value > 0 Then ' condition si jour de retard sup a 0'
Range("A" & i).Select 'copie colle cde '
Selection.Copy
Sheets("calcul").Select
Range("F" & i + 1).Select
ActiveSheet.Paste
Sheets("bdd").Activate 'copie colle fournisseur'
Range("b" & i).Select
Selection.Copy
Sheets("calcul").Select
Range("g" & i + 1).Select
ActiveSheet.Paste
End If
Next i
Sheets("calcul").Activate
Range("f8:f600").Select
Selection.CurrentRegion.Select
For Each Range In Selection
If Range.Value = "" Then
Range.EntireRow.Delete
End If
End Sub
le second pb c'est que j'ai un bouton pour effacer mais il marche tellement bien qu'il efface ...tous.. même les intitulé de colonnes
peut on avoir un code pour effacer juste les données a partir de telle ligne?
Sub éffacer()
Sheets("calcul").Select
Sheets("calcul").Cells.Clear
je vous remercie par avance ,
@++
je suis en train de ré actualiser un fichier qui est rempli de formule ds tt les sens et avec des grandes base de données. trés satisfaisant mais trés lourd ...
afin de faciliter l'accés à ce fichier ainsi que son utilisation , j'essaie de tt passer en vba.
étant novice ds ce domaine j'ai réussi a créer différent code, mais ne sont pas efficient ...
le premier copie les données de la feuille "bdd" colonne A si et seulement le chiffre en colonne "f " est positif et colle les données en feuille " calcul " en colonne " f " mais avec des cellules vides ...voici le code
comment peut on faire pour avoir ce résultat sans cellules vides entre elles ?
j'ai utilisé une boucle mais avec un nombre de ligne défini. peut on le faire de façon indéfini ?
Sub indemnité()
Dim i As Integer
For i = 1 To 600
Sheets("bdd").Activate
If Sheets("bdd").Range("f" & i).Value > 0 Then ' condition si jour de retard sup a 0'
Range("A" & i).Select 'copie colle cde '
Selection.Copy
Sheets("calcul").Select
Range("F" & i + 1).Select
ActiveSheet.Paste
Sheets("bdd").Activate 'copie colle fournisseur'
Range("b" & i).Select
Selection.Copy
Sheets("calcul").Select
Range("g" & i + 1).Select
ActiveSheet.Paste
End If
Next i
Sheets("calcul").Activate
Range("f8:f600").Select
Selection.CurrentRegion.Select
For Each Range In Selection
If Range.Value = "" Then
Range.EntireRow.Delete
End If
End Sub
le second pb c'est que j'ai un bouton pour effacer mais il marche tellement bien qu'il efface ...tous.. même les intitulé de colonnes
peut on avoir un code pour effacer juste les données a partir de telle ligne?
Sub éffacer()
Sheets("calcul").Select
Sheets("calcul").Cells.Clear
je vous remercie par avance ,
@++