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

boucle sur une colone & condition si en vba

fifi56

XLDnaute Junior
bonjour

j'ai une erreur dans mon code vba suivant que je n'arrive pas a résoudre


Code:
'For Each cell In Range("C1:C" & ligne)

       ' If cell = nombre Then
       '   calcul = "E" & ligne
      '  End If
        
'Next cell



je parcours la colonne C , si la valeur de C est egale a la valeur de " nombre "
alors je voudrais
que "calcul " est la valeur de la cellule (E + numero de ligne ) E1 ou e2 ou e3 ect ...



ensuite je colle la valeur de "calcul " en L1 ( a la place normal j’exécute une autre macro mais si nous en avons pas besoin )
 

Pièces jointes

  • Classeur.xlsm
    15.6 KB · Affichages: 21
  • Classeur.xlsm
    15.6 KB · Affichages: 26
  • Classeur.xlsm
    15.6 KB · Affichages: 21

Staple1600

XLDnaute Barbatruc
Re : boucle sur une colone & condition si en vba

Bonjour à tous

fifi56
Si j'ai compris la question, voici une proposition
VB:
Sub macro()
Dim calcul$, cell As Range, nombre
nombre = Sheets("Feuil1").Cells(3, "D").Value
With Sheets("Feuil2")
    For Each cell In .Range(.Cells(1, "C"), .Cells(Rows.Count, "C").End(xlUp))
        If cell = nombre Then
        calcul = calcul & ";" & "E" & cell.Row
        End If
    Next cell
    'destination
    .[L1] = Mid(calcul, 2, 9 ^ 9)
End With
End Sub
 

Paf

XLDnaute Barbatruc
Re : boucle sur une colone & condition si en vba

Bonjour Staple1600, fifi56

Sans savoir concrètement le besoin ni tout compris au besoin, une proposition pour que la boucle fonctionne:

Code:
Sub macro()
'
 Dim calcul As String
 Dim ligne As Integer, nombre As Integer, DerLig As Integer

 nombre = Worksheets("Feuil1").Cells(3, 4).Value 'colonne D !

 With Worksheets("Feuil2")
 DerLig = .Range("C" & Rows.Count).End(xlUp).Row

 For ligne = 1 To DerLig
    If .Range("C" & ligne).Value = nombre Then
        calcul = .Range("E" & ligne).Value
    End If
 Next
    
 End With

'calcul = [e2]
' destination
'[l1] = calcul

End Sub

A+
 

Staple1600

XLDnaute Barbatruc
Re : boucle sur une colone & condition si en vba

Bonjour Paf


Nous sommes deux à boucler et deux à n'être pas sur d'avoir compris le résultat à obtenir.
(Pourquoi tu as commenter le [L1] ?)
 

fifi56

XLDnaute Junior
Re : boucle sur une colone & condition si en vba

bonjour a vous 2 Staple1600, Paf

et merci pour vos reponses

oui pas tjs evident d'expliquer ce que l'on souhaite faire

Staple1600 j'ai essaye ton code

j'ai modifier cette ligne

calcul = "E" & cell.Row

'destination
[L1] = calcul
MsgBox (" on verifie ")

Next cell


voila je crois c'est bon ( avec les modifs )



en gros je voulais avoir le numero de la cellule
pour le reutiliser ensuite
 
Dernière édition:

fifi56

XLDnaute Junior
Re : boucle sur une colone & condition si en vba

zut j'ai parle un peu vite ....

cela ne semble pas fonctionner comme je souhaite ...
je regarde ce qui vas pas et je reviens vers vous
 

Staple1600

XLDnaute Barbatruc
Re : boucle sur une colone & condition si en vba

Re

fifi56
Si tu pouvais donner plus de détails ou mieux ajouter un onglet RESULTAT A OBTENIR
(sur lequel tu auras mis manuellement ce tu souhaites obtenir)
On pourrait sans doute mieux t'aider à résoudre ta question.
(
 

fifi56

XLDnaute Junior
Re : boucle sur une colone & condition si en vba

Je commence a être un peu perdu dans mon code
..

j'ai pris le code de " pat"

ça fonctionne mais cela me crée un autre problème

je vous joint a nouveau le fichier
( le problème est que la message box affiche le dernier nom plusieurs fois a chaque fois qu'il verifie si la condition est rempli ou pas et cela me pose souci ! )


a la place de la message box j'ai une grosse macro qui se déclenche ( et qui est longue a exécuter )
et que je risque d’exécuter autant de fois ....

pas encore tres clair comme explication .........
 

Pièces jointes

  • Classeur1.xlsm
    17.5 KB · Affichages: 14
  • Classeur1.xlsm
    17.5 KB · Affichages: 23
  • Classeur1.xlsm
    17.5 KB · Affichages: 17
Dernière édition:

Paf

XLDnaute Barbatruc
Re : boucle sur une colone & condition si en vba

Re

à Staple1600 : j'avais commenté les lignes dont je ne comprenais pas l'utilité

à fifi56

Sans savoir ce qu'attend la grosse macro, le premier code fait apparaitre dans une Message Box les prénoms correspondant à la limite déterminée en feuille1, le deuxième code affiche la même liste en colonne L
Code:
Sub macro1()
 Dim calcul As String
 Dim ligne As Integer, nombre As Integer, DerLig As Integer

 nombre = Worksheets("Feuil1").Cells(3, 4).Value 'colonne D !

 With Worksheets("Feuil2")
 DerLig = .Range("C" & Rows.Count).End(xlUp).Row

 For ligne = 1 To DerLig
    If .Range("C" & ligne).Value = nombre Then
        calcul = calcul & Chr(10) & .Range("E" & ligne).Value
    End If
 Next
 MsgBox (calcul)
 End With
End Sub

Code:
Sub macro1()
 Dim calcul As String
 Dim ligne As Integer, nombre As Integer, DerLig As Integer, x As Integer

 nombre = Worksheets("Feuil1").Cells(3, 4).Value 'colonne D !

 With Worksheets("Feuil2")
 DerLig = .Range("C" & Rows.Count).End(xlUp).Row

 For ligne = 1 To DerLig
    If .Range("C" & ligne).Value = nombre Then
        x = x + 1
        .Range("L" & x).Value = .Range("E" & ligne).Value
    End If
 Next
 End With
End Sub

A+
 

fifi56

XLDnaute Junior
Re : boucle sur une colone & condition si en vba [ resolu ]

bonsoir et merci a vous 2 pat et Staple1600
pour votre aide je ne suis pas tjs très clair dans mes explications et il faut suivre mon raisonnement


Pat ta toute première macro était bonne ( j'avais juste un souci de vérification de la dernière condition )
je vais régler cela , pas de souci

je pourras d'ailleurs associé les macro 1 et 3


( ma grosse macro va entre autres choses récupérer des infos dans d'autres classeurs et page web )
 

Discussions similaires

Réponses
21
Affichages
749
Réponses
1
Affichages
385
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…