Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Récuperer le contenu de cellules selon critère

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 !

Michel68000

XLDnaute Junior
Bonjour,
Je flanche sur un problème certainement trop simple pour certains, mais bon.
Je cherche à récuperer le contenu de deux cellules d'une ligne si le contenu de la cellule H de la meme ligne est positif. Dans ce cas je voudrais qu'excel me copie sur une autre feuille le contenu des cellules A et B.
De plus il faudrait qu'excel passe en revue toutes les lignes de ma première feuille.
J'espère avoir été clair dans mon explication et merci d'avance pour votre aide.
 
Re : Récuperer le contenu de cellules selon critère

Bonjour Michel68000 🙂,
Quelques légères ambiguïtés dans ta question 🙄...
Si tu veux uniquement récupérer les valeurs en conservant la mise en forme de la feuille 2
Code:
Sub Test()
Dim I As Integer, J As Integer
I = 1
J = 1
Sheets("Feuil2").Cells.ClearContents
While Sheets("Feuil1").Range("A" & I) <> ""
If Sheets("Feuil1").Range("H" & I) > 0 Then
Sheets("Feuil2").Range("A" & J) = Sheets("Feuil1").Range("A" & I)
Sheets("Feuil2").Range("B" & J) = Sheets("Feuil1").Range("B" & I)
I = I + 1
J = J + 1
Else
I = I + 1
End If
Wend
End Sub
si par contre, tu veut copier les cellules A et B avec la mise en forme
Code:
Sub Test2()
Dim I As Integer, J As Integer
I = 1
J = 1
Sheets("Feuil2").Cells.Clear
While Sheets("Feuil1").Range("A" & I) <> ""
If Sheets("Feuil1").Range("H" & I) > 0 Then
Sheets("Feuil1").Range("A" & J & ":B" & J).Copy Sheets("Feuil2").Range("A" & J)
I = I + 1
J = J + 1
Else
I = I + 1
End If
Wend
End Sub
attention, dans les 2 cas, j'efface soit le contenu de toutes les cellules de la feuille 2, soit toutes les cellules, mise en forme comprise.
Si tu veux restreindre aux colonnes A & B, il faut utiliser respectivement
Code:
Sheets("Feuil2").Cells.Range("A:B").ClearContents
Sheets("Feuil2").Cells.Range("A:B").Clear
Si tu as des entêtes, I détermine la première ligne de la feuille 1 à traiter, et J la première ligne de la feuille 2 pour recopier. Donc à adapter
Code:
I = 2
J = 4
par exemple.
Tu as mis "positif" donc j'ai mis
Code:
If Sheets("Feuil1").Range("H" & I) > 0 Then
si c'est "positif ou nul"
Code:
If Sheets("Feuil1").Range("H" & I) >= 0 Then
Bonne journée 😎
 
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…