Pb sélection cellules

Résolu
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005 - 14 nov. 2005 à 19:06
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005 - 16 nov. 2005 à 09:35
Bonjour à tous,

Petit pb : je voudrais actualiser différents fichiers à partir de données tirées d'une base.
Je bosse en vb sur Excel.

Pas de pb pour envoyer ttes info automatiquement dans différents fichiers.

Mais par contre qd ma macro tourne, les données importées écrasent les anciennes...
Je voudraient qu'elles viennent plutôt se placer derrières les données importées précédemment.
Pour cela j'avais pensé à faire demander à ma macro de copier les données de la base à partir de la première ligne vide. Mais ca n'a pas marché...
Est-ce possible?
Si je ne suis pas assez clair, n'hésitez pas à me demander des précisions.

Merci d'avance.

Emmanuel

5 réponses

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
16 nov. 2005 à 01:12
Lut,
Ces modifs devraient réssoudre ton prob mais il y a des méthodes plus efficaces pour arriver au même résultat.

Workbooks("Base.xls").Activate
Sheets(1).Activate
Dim k As Integer
Dim i As Integer
Dim xlRow As Long
k = 1
i = 1
While Cells(i, 1) <> Empty If (Cells(i, 1) "XXX") Or (Cells(i, 1) "YYY") Then
tableau(k, 1) = Cells(i, 1)
tableau(k, 2) = Cells(i, 2)
tableau(k, 3) = Cells(i, 3)
tableau(k, 4) = Cells(i, 4)
k = k + 1
End If
i = i + 1
Wend

Workbooks("Base XXX.xls").Activate
Sheets(1).Activate
xlRow = Cells(65536, 1).End(xlUp).Offset(1, 0).Row
For i = 2 To k
Cells(xlRow + i, 1) = tableau(i, 1)
Cells(xlRow + i, 2) = tableau(i, 2)
Cells(xlRow + i, 3) = tableau(i, 3)
Cells(xlRow + i, 4) = tableau(i, 4)
Next i

End Sub

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
3
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
15 nov. 2005 à 00:33
Lut,
Je pense qu'un UsedRange.Rows.count devrai régler ton prob il te renvoi la dernière ligne utilisé.

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
dp_favresa Messages postés 132 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 11 mai 2010
15 nov. 2005 à 08:23
Bonjour,

J'ai souvent besoin d'insérer des valeurs après la dernière ligne non vide, pour cela j'utilise :

Range("xxx").Select 'dernière ligne de la feuille

Selection.End(xlUp).Offset(1, 0).Select ' remonter à
1ère ligne non vide puis "offset(1,0)" pour descendre d'une ligne


J'éspère que cela te conviendra.


Bon(nes) courage, développement, salutations...
(choisissez ce qui vous convient) dp
0
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005
15 nov. 2005 à 15:18
Merci.

J'arrive à selectionner la première ligne vide mais les données importées écrasent quand même les anciennes.
Je pense que c'est du à mon code qui ne doit pas être approprié (je ne suis pas pro, indulgeance svp).

Le voici :

Workbooks("Base.xls").Activate
Sheets(1).Activate
Dim k As Integer
Dim i As Integer

k = 1
i = 1

While Cells(i, 1) <> Empty If (Cells(i, 1) "XXX") Or (Cells(i, 1) "YYY") Then
tableau(k, 1) = Cells(i, 1)
tableau(k, 2) = Cells(i, 2)
tableau(k, 3) = Cells(i, 3)
tableau(k, 4) = Cells(i, 4)
k = k + 1
End If
i = i + 1
Wend

Workbooks("Base XXX.xls").Activate
Sheets(1).Activate

Cells(65536, 1).End(xlUp).Offset(1, 0).Select

For i = 2 To k
Cells(i, 1) = tableau(i, 1)
Cells(i, 2) = tableau(i, 2)
Cells(i, 3) = tableau(i, 3)
Cells(i, 4) = tableau(i, 4)
Next i

End Sub

Si vous voyez où il y a pb, n'hésitez pas!

Merci.

Emmanuel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005
16 nov. 2005 à 09:35
Merci Jean-Paul (et à celui qui n'a pas laissé de nom).

Emmanuel
0
Rejoignez-nous