> Tous les forums > Forum Bureautique
 Copier une série de ligne avec deux conditionsSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Douchka17
  Posté le 08/03/2010 @ 16:35 
Aller en bas de la page 
Nouvelle astucienne

Bonjour,

J'essaye de trouver un code pour faire l'action suivante:

J'ai une worksheet appellée "Data", avec 7 colonnes.

J'ai une worksheet appellée "Country", où je dois copier certaines cellules de certaines lignes de "Data":

Dans les colonnes B, C, D, E de "Country" (à partir de la ligne 8), je dois copier les colonnes A, B, E, G de "Data" (à partir de la ligne 8 également) sous deux conditions:

1) le contenu de la colonne H de "Data" = Europe

2) le contenu de la colonne I de "Data" = le contenu de la cellule A4 de la worksheet "Country"

Je ne parviens vraiment pas à trouver un code qui fonctionne, merci de votre aide!!!!!!

Publicité
LnK6280
 Posté le 08/03/2010 à 19:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

tu ne sais pas nous up ton fichier?

Sinon il y a =somme.si(x) mais je ne sais pas si dans ta colonne il n'y a qu'une seule condition pour toute la colonne ou une condition par ligne



Modifié par LnK6280 le 08/03/2010 19:08
Bérylion
 Posté le 08/03/2010 à 22:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Message original par Douchka17

Bonjour,

J'essaye de trouver un code pour faire l'action suivante:

J'ai une worksheet appellée "Data", avec 7 colonnes.

J'ai une worksheet appellée "Country", où je dois copier certaines cellules de certaines lignes de "Data":

Dans les colonnes B, C, D, E de "Country" (à partir de la ligne 8), je dois copier les colonnes A, B, E, G de "Data" (à partir de la ligne 8 également) sous deux conditions:

1) le contenu de la colonne H de "Data" = Europe

2) le contenu de la colonne I de "Data" = le contenu de la cellule A4 de la worksheet "Country"

Je ne parviens vraiment pas à trouver un code qui fonctionne, merci de votre aide!!!!!!

Salut

une proposition :

Sub Douchka17()
arr = Array("A", "B", "E", "G")
For i% = 8 To Sheets("Data").Range(Sheets("Data").Range("A8"), Sheets("Data").Range("A8").End(xlDown)).Count + 8
If Sheets("Data").Range("H" & i).Value = "europe" And Sheets("Data").Range("I" & i).Value = Sheets("Country").Range("A4").Value Then
For j% = 1 To 4
Sheets("Country").Range("A8").Offset(k, j).Value = Sheets("Data").Range(arr(j - 1) & i).Value
Next
k = k + 1
End If
Next
End Sub

Douchka17
 Posté le 09/03/2010 à 15:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

Berylion,

Ca marche, c'est parfait!

Mais le souci c'est que quand je change la valeur en A4, si il n'y arien à copier (rien dans la feuille Data qui est = à la nouvelle valeur A4), il garde les anciennes lignes copiées.

Est-il possible de rajouter quelque chose pour que ça ne mettre "rien" (et que ça "efface" les lignes précédentes)?

Merci!!!

Bérylion
 Posté le 10/03/2010 à 09:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Douchka17 a écrit :

Berylion,

Ca marche, c'est parfait!

Mais le souci c'est que quand je change la valeur en A4, si il n'y arien à copier (rien dans la feuille Data qui est = à la nouvelle valeur A4), il garde les anciennes lignes copiées.

Est-il possible de rajouter quelque chose pour que ça ne mettre "rien" (et que ça "efface" les lignes précédentes)?

Merci!!!

Sub Douchka17()
arr = Array("A", "B", "E", "G")
Sheets("Country").Range(Sheets("Country").Range(Sheets("Country").Range("B8"), Sheets("Country").Range("B8").End(xlToRight)), Sheets("Country").Range(Sheets("Country").Range("B8"), Sheets("Country").Range("B8").End(xlToRight)).End(xlDown)).ClearContents
For i% = 8 To Sheets("Data").Range(Sheets("Data").Range("A8"), Sheets("Data").Range("A8").End(xlDown)).Count + 8
If Sheets("Data").Range("H" & i).Value = "europe" And Sheets("Data").Range("I" & i).Value = Sheets("Country").Range("A4").Value Then
For j = 1 To 4
Sheets("Country").Range("A8").Offset(k, j).Value = Sheets("Data").Range(arr(j - 1) & i).Value
Next
k = k + 1
End If
Next
End Sub

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
7,99 €Lot de 32 piles Philips AA à 7,99 €
Valable jusqu'au 20 Janvier

Fnac fait une promotion sur le lot de 32 piles Philips AA qui passe à 7,99 € au lieu de 15 €.


> Voir l'offre
21,33 €Clé USB Sandisk Ultra 128 Go à double connectique USB 3.1 Type A et C à 21,33 €
Valable jusqu'au 20 Janvier

Amazon fait une promotion sur la clé USB Sandisk Ultra 128 Go à double connectique USB 3.1 Type A et C qui passe à 21,33 €. Cette clé USB  dispose d'un connecteur réversible USB Type C et d'un connecteur classique de type A. Grâce à elle, transférez en toute simplicité et rapidement (jusqu'à 150 Mo/s) vos fichiers entre vos smartphones, tablettes et ordinateurs. On la trouve ailleurs à plus de 40 €.


> Voir l'offre
199,99 €Ecran ultra large LG 29 pouces (2560x1080px, IPS, FreeSync) à 199,99 €
Valable jusqu'au 20 Janvier

Boulanger propose actuellement l'écran 29 pouces LG 29WL500 à 199,99 € livré gratuitement alors qu'on le trouve à partir de 250 € ailleurs. Cet écran ultra large est au format 21/9 et offre une résolution de 2560 x 1080 pixels avec une dalle IPS compatible FreeSync. Avec lui, vous pourrez bénéficier d'une plus grande immersion dans les jeux et les films.


> Voir l'offre

Sujets relatifs
deux retours à la ligne avec Word 2007
Colorier une ligne sur deux avec excel 2007
MFC de ligne avec 3 conditions (résolu)
copier ligne si cellule vide
échelle des x avec deux colonnes date et heure
copier une ligne feuille 1 pour remettre feuille2
Macro Copier ligne vers un autre fichier
tableurs se bloquent avec copier-coller !
Calcul avec conditions
Formule de choix avec 3 conditions
Plus de sujets relatifs à Copier une série de ligne avec deux conditions
 > Tous les forums > Forum Bureautique