Script VBA differentes conditions
Résolu/Fermé
goomis95
Messages postés
39
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
-
17 nov. 2009 à 16:26
goomis95 Messages postés 39 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 3 décembre 2009 - 18 nov. 2009 à 13:54
goomis95 Messages postés 39 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 3 décembre 2009 - 18 nov. 2009 à 13:54
A voir également:
- Script VBA differentes conditions
- Script vidéo youtube - Guide
- Microsoft activation script - Accueil - Windows
- Votre compte a été désactivé pour violation de nos conditions d’utilisation - Guide
- Excel compter cellule couleur sans vba - Guide
- Vba attendre 1 seconde ✓ - Forum VB / VBA
3 réponses
goomis95
Messages postés
39
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
17 nov. 2009 à 17:52
17 nov. 2009 à 17:52
J'ai reussi a contourner le probleme pour creer un tableau dans une feuil3 du resultat chercher en suite a partir de ce résultat puis réecrire le nouveau tableau dessu etc ... et a la fin l'ecrire la ou je veux et effacer ce qu'il y a dans la feuil3 ( astucieux hein ? :) lol).
Cependant je n'arrive pas a faire en sorte que si mon choix est nul cela signifie qu'il n'y a pas de valeur précise :'(.
Je vais essayer de contourner une enieme fois ce probleme mais si quelqu'un pouvait me me donner une solution ca serait cool.
J'ai ca qui ne fonctionne pas :
If IsEmpty(valeur) Then
valeur = Range("A")
Endif
Cependant je n'arrive pas a faire en sorte que si mon choix est nul cela signifie qu'il n'y a pas de valeur précise :'(.
Je vais essayer de contourner une enieme fois ce probleme mais si quelqu'un pouvait me me donner une solution ca serait cool.
J'ai ca qui ne fonctionne pas :
If IsEmpty(valeur) Then
valeur = Range("A")
Endif
goomis95
Messages postés
39
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
18 nov. 2009 à 10:36
18 nov. 2009 à 10:36
Je fais un petit up je suis sur que ca n'est pas tres compliquer mais moi je sais pas comment le faire pour le moment :)
goomis95
Messages postés
39
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2009
18 nov. 2009 à 13:54
18 nov. 2009 à 13:54
Merci de votre aide ( on sais jamais vous m'auriez surement aider :) )
J'ai trouver tout seul pour ceux que ca interesse on ne sais jamais je vous met le code :
------------------------------------------------------------------------
Option Explicit
Const colonne As Byte = 3
------------------------------------------------------------------------
Sub nettoyertest()
Sheets("feuil1").Range("resultatest").Resize(100, colonne).Clear
End Sub
Sub test1()
Sheets("feuil3").Range("test1").Resize(100, colonne).Clear
End Sub
-------------------------------------------------------------------------
Sub test()
Dim valeur
Dim comparaison As Byte
Dim tablo
Dim ligne As Byte, compteur_y As Byte, compteur_x As Byte
Dim iii As Integer
valeur = Range("choix1")
If IsEmpty(valeur) Then
With Sheets("feuil2")
iii = ActiveSheet.UsedRange.Rows.Count
ReDim tablo(iii - 1, colonne - 1)
ligne = 1
For compteur_y = 0 To UBound(tablo)
For compteur_x = 0 To colonne - 1
tablo(compteur_y, compteur_x) = .Cells(compteur_y + 1, compteur_x + 1)
Next
Next
End With
test1
Application.ScreenUpdating = False
Sheets("feuil3").Activate
With Range("test1").Resize(iii, colonne)
.Value = tablo
End With
Else
With Sheets("feuil2")
comparaison = Application.CountIf(.Columns(1), valeur)
ReDim tablo(comparaison - 1, colonne - 1)
ligne = 1
For compteur_y = 0 To UBound(tablo)
ligne = .Columns(1).Find(valeur, .Cells(ligne, 1), xlValues).Row
For compteur_x = 0 To colonne - 1
tablo(compteur_y, compteur_x) = .Cells(ligne, compteur_x + 1)
Next
Next
End With
test1
Application.ScreenUpdating = False
Sheets("feuil3").Activate
With Range("test1").Resize(comparaison, colonne)
.Value = tablo
End With
End If
valeur = Range("choix2")
If IsEmpty(valeur) Then
With Sheets("feuil3")
iii = ActiveSheet.UsedRange.Rows.Count
ReDim tablo(iii - 1, colonne - 1)
ligne = 1
For compteur_y = 0 To UBound(tablo)
For compteur_x = 0 To colonne - 1
tablo(compteur_y, compteur_x) = .Cells(compteur_y + 1, compteur_x + 1)
Next
Next
End With
test1
nettoyertest
Application.ScreenUpdating = False
Sheets("feuil1").Activate
With Range("resultatest").Resize(iii, colonne)
.Value = tablo
.Borders.Weight = xlThin
End With
Else
With Sheets("feuil3")
comparaison = Application.CountIf(.Columns(2), valeur)
ReDim tablo(comparaison - 1, colonne - 1)
ligne = 1
For compteur_y = 0 To UBound(tablo)
ligne = .Columns(2).Find(valeur, .Cells(ligne, 2), xlValues).Row
For compteur_x = 0 To colonne - 1
tablo(compteur_y, compteur_x) = .Cells(ligne, compteur_x + 1)
Next
Next
End With
test1
nettoyertest
Application.ScreenUpdating = False
Sheets("feuil1").Activate
With Range("resultatest").Resize(comparaison, colonne)
.Value = tablo
.Borders.Weight = xlThin
End With
End If
End Sub
J'ai trouver tout seul pour ceux que ca interesse on ne sais jamais je vous met le code :
------------------------------------------------------------------------
Option Explicit
Const colonne As Byte = 3
------------------------------------------------------------------------
Sub nettoyertest()
Sheets("feuil1").Range("resultatest").Resize(100, colonne).Clear
End Sub
Sub test1()
Sheets("feuil3").Range("test1").Resize(100, colonne).Clear
End Sub
-------------------------------------------------------------------------
Sub test()
Dim valeur
Dim comparaison As Byte
Dim tablo
Dim ligne As Byte, compteur_y As Byte, compteur_x As Byte
Dim iii As Integer
valeur = Range("choix1")
If IsEmpty(valeur) Then
With Sheets("feuil2")
iii = ActiveSheet.UsedRange.Rows.Count
ReDim tablo(iii - 1, colonne - 1)
ligne = 1
For compteur_y = 0 To UBound(tablo)
For compteur_x = 0 To colonne - 1
tablo(compteur_y, compteur_x) = .Cells(compteur_y + 1, compteur_x + 1)
Next
Next
End With
test1
Application.ScreenUpdating = False
Sheets("feuil3").Activate
With Range("test1").Resize(iii, colonne)
.Value = tablo
End With
Else
With Sheets("feuil2")
comparaison = Application.CountIf(.Columns(1), valeur)
ReDim tablo(comparaison - 1, colonne - 1)
ligne = 1
For compteur_y = 0 To UBound(tablo)
ligne = .Columns(1).Find(valeur, .Cells(ligne, 1), xlValues).Row
For compteur_x = 0 To colonne - 1
tablo(compteur_y, compteur_x) = .Cells(ligne, compteur_x + 1)
Next
Next
End With
test1
Application.ScreenUpdating = False
Sheets("feuil3").Activate
With Range("test1").Resize(comparaison, colonne)
.Value = tablo
End With
End If
valeur = Range("choix2")
If IsEmpty(valeur) Then
With Sheets("feuil3")
iii = ActiveSheet.UsedRange.Rows.Count
ReDim tablo(iii - 1, colonne - 1)
ligne = 1
For compteur_y = 0 To UBound(tablo)
For compteur_x = 0 To colonne - 1
tablo(compteur_y, compteur_x) = .Cells(compteur_y + 1, compteur_x + 1)
Next
Next
End With
test1
nettoyertest
Application.ScreenUpdating = False
Sheets("feuil1").Activate
With Range("resultatest").Resize(iii, colonne)
.Value = tablo
.Borders.Weight = xlThin
End With
Else
With Sheets("feuil3")
comparaison = Application.CountIf(.Columns(2), valeur)
ReDim tablo(comparaison - 1, colonne - 1)
ligne = 1
For compteur_y = 0 To UBound(tablo)
ligne = .Columns(2).Find(valeur, .Cells(ligne, 2), xlValues).Row
For compteur_x = 0 To colonne - 1
tablo(compteur_y, compteur_x) = .Cells(ligne, compteur_x + 1)
Next
Next
End With
test1
nettoyertest
Application.ScreenUpdating = False
Sheets("feuil1").Activate
With Range("resultatest").Resize(comparaison, colonne)
.Value = tablo
.Borders.Weight = xlThin
End With
End If
End Sub