problème avec boucle

  • Initiateur de la discussion Initiateur de la discussion antiphot
  • Date de début Date de début

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 !

antiphot

XLDnaute Occasionnel
Bonjour à toutes et à tous

J'ai une plage de cellules (48, i) avec 48 = 2 to 10 step 2. Cette plage se répétant à l'identique dans toutes les feuilles du classeur
Selon certaines conditions, certaines de ces cellules sont remplies.

J'aimerais rajouter une condition selon que si les cellules (48, i) sont vides alors mon texte s'affiche dans la cellule cible, mais si du texte est déjà présent alors le nouveau texte s'affiche sur la ligne en-dessous et ainsi de suite

si quelqu'un pouvait m'aider à concrétiser tout cela en vba, je suis actuellement en panne pr mon application.

Merci par avance
🙂
 
bonjour

a essayer :

If Cells(48, i) = '' Then
cells(48,i)=....
Else
cells(48,i+1)=....
End If

edition, j'ai un doute sur ce que tu veux faire :

donc, autre solution :

If Cells(48, i) = '' Then
cells(48,i)=....
Else
cells(49,i)=....
End If

salut

Message édité par: hervé, à: 30/05/2006 14:03
 
Bonjour Hervé

Le plus simple effectivement c'est que je te joigne le code

Code:
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim d3 As Date


d1 = TextBox1.Value
d2 = TextBox2.Value


For Each ws In ActiveWorkbook.Sheets
ws.Activate ' il faut rendre active la feuille ws en cours de recherche
Dim i As Integer
        k = 48
        For l = 2 To 10 Step 2
            Do Until ActiveSheet.Cells(k, l) = ''
                k = k + 1
            Loop
        Next l
        For i = 2 To 10 Step 2
            If Not ActiveSheet.Cells(8, i).NumberFormat = 'dddd dd' Then GoTo line2 ' renvoi en fin de boucle si le format n'est pas le bon
            d3 = ActiveSheet.Cells(8, i)
                ' il faut specifier que ta cellule appartient à la euille active
            If d3 > d2 Then GoTo line3
            If d3 = d1 Then
                ActiveSheet.Cells(k, i).Value = TextBox3.Value ' idem precedemment il faut preciser l'appartenance à la feuille active
            End If
        Next i

line2: ' definition d'un index
Next ws
line3:
End Sub

mais bon cela ne fonctionne pas car du coup si texte présent ds une des cellules (48, i), les valeurs suivantes sont automatiquement placées sur la ligne en-dessous même si les cellules 48,i sont vides.
Bon je ne sais pas si je suis très clair ?
 
Effectivement j'aurais du y penser plus tôt !
Ci-joint le fichier avec toutes les explications

Merci pour ta patience

A bientôt [file name=Antiphot.zip size=13500]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Antiphot.zip[/file]
 

Pièces jointes

re

c'est vrai que c'est tout de suite plus facile. 🙂

en pièce jointe ton fichier modifié.

tu n'est pas obligé de sélectionner une feuille pour travailler dessus (voir le code).

salut [file name=Antiphot_20060530163522.zip size=16110]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Antiphot_20060530163522.zip[/file]
 

Pièces jointes

- 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

Réponses
0
Affichages
433
Retour